home *** CD-ROM | disk | FTP | other *** search
/ Game.EXE 2004 July / My Disc.iso / patch / UT2004 / ut2004-winpatch3236.exe / UT2004-Patch / System / UnrealGame.u / Bot_CTFSquadAI_ScriptText.TextBuffer < prev    next >
Unknown  |  2004-06-11  |  18.8 KB

open in: MacOS 8.1     |     Win98     |     DOS

view JSON data     |     view as text


This file was not able to be converted.
This format is not currently supported by dexvert.

ConfidenceProgramDetectionMatch TypeSupport
100% file data default



hex view
+--------+-------------------------+-------------------------+--------+--------+
|00000000| 00 00 00 00 00 00 00 00 | 5d ac 02 63 6c 61 73 73 |........|]..class|
|00000010| 20 43 54 46 53 71 75 61 | 64 41 49 20 65 78 74 65 | CTFSqua|dAI exte|
|00000020| 6e 64 73 20 53 71 75 61 | 64 41 49 3b 0d 0a 0d 0a |nds Squa|dAI;....|
|00000030| 76 61 72 20 66 6c 6f 61 | 74 20 4c 61 73 74 53 65 |var floa|t LastSe|
|00000040| 65 46 6c 61 67 43 61 72 | 72 69 65 72 3b 0d 0a 76 |eFlagCar|rier;..v|
|00000050| 61 72 20 43 54 46 46 6c | 61 67 20 46 72 69 65 6e |ar CTFFl|ag Frien|
|00000060| 64 6c 79 46 6c 61 67 2c | 20 45 6e 65 6d 79 46 6c |dlyFlag,| EnemyFl|
|00000070| 61 67 3b 0d 0a 76 61 72 | 20 41 73 73 61 75 6c 74 |ag;..var| Assault|
|00000080| 50 61 74 68 20 52 65 74 | 75 72 6e 50 61 74 68 3b |Path Ret|urnPath;|
|00000090| 09 2f 2f 20 61 6c 74 65 | 72 6e 61 74 65 20 70 61 |.// alte|rnate pa|
|000000a0| 74 68 20 74 6f 20 75 73 | 65 20 62 79 20 66 6c 61 |th to us|e by fla|
|000000b0| 67 20 63 61 72 72 69 65 | 72 20 72 65 74 75 72 6e |g carrie|r return|
|000000c0| 69 6e 67 20 74 6f 20 62 | 61 73 65 0d 0a 76 61 72 |ing to b|ase..var|
|000000d0| 20 6e 61 6d 65 20 52 65 | 74 75 72 6e 50 61 74 68 | name Re|turnPath|
|000000e0| 54 61 67 3b 0d 0a 76 61 | 72 20 4e 61 76 69 67 61 |Tag;..va|r Naviga|
|000000f0| 74 69 6f 6e 50 6f 69 6e | 74 20 48 69 64 65 50 61 |tionPoin|t HidePa|
|00000100| 74 68 3b 0d 0a 0d 0a 66 | 75 6e 63 74 69 6f 6e 20 |th;....f|unction |
|00000110| 41 73 73 69 67 6e 43 6f | 6d 62 6f 28 42 6f 74 20 |AssignCo|mbo(Bot |
|00000120| 42 29 0d 0a 7b 0d 0a 09 | 69 66 20 28 20 47 65 74 |B)..{...|if ( Get|
|00000130| 4f 72 64 65 72 73 28 29 | 20 21 3d 20 27 41 74 74 |Orders()| != 'Att|
|00000140| 61 63 6b 27 20 29 0d 0a | 09 09 53 75 70 65 72 2e |ack' )..|..Super.|
|00000150| 41 73 73 69 67 6e 43 6f | 6d 62 6f 28 42 29 3b 0d |AssignCo|mbo(B);.|
|00000160| 0a 7d 0d 0a 0d 0a 66 75 | 6e 63 74 69 6f 6e 20 62 |.}....fu|nction b|
|00000170| 6f 6f 6c 20 41 6c 6c 6f | 77 44 65 74 6f 75 72 54 |ool Allo|wDetourT|
|00000180| 6f 28 42 6f 74 20 42 2c | 4e 61 76 69 67 61 74 69 |o(Bot B,|Navigati|
|00000190| 6f 6e 50 6f 69 6e 74 20 | 4e 29 0d 0a 7b 0d 0a 09 |onPoint |N)..{...|
|000001a0| 69 66 20 28 20 42 2e 50 | 6c 61 79 65 72 52 65 70 |if ( B.P|layerRep|
|000001b0| 6c 69 63 61 74 69 6f 6e | 49 6e 66 6f 2e 48 61 73 |lication|Info.Has|
|000001c0| 46 6c 61 67 20 21 3d 20 | 45 6e 65 6d 79 46 6c 61 |Flag != |EnemyFla|
|000001d0| 67 20 29 0d 0a 09 09 72 | 65 74 75 72 6e 20 74 72 |g )....r|eturn tr|
|000001e0| 75 65 3b 0d 0a 0d 0a 09 | 69 66 20 28 20 28 42 2e |ue;.....|if ( (B.|
|000001f0| 52 6f 75 74 65 47 6f 61 | 6c 20 21 3d 20 46 72 69 |RouteGoa|l != Fri|
|00000200| 65 6e 64 6c 79 46 6c 61 | 67 2e 48 6f 6d 65 42 61 |endlyFla|g.HomeBa|
|00000210| 73 65 29 20 7c 7c 20 21 | 46 72 69 65 6e 64 6c 79 |se) || !|Friendly|
|00000220| 46 6c 61 67 2e 62 48 6f | 6d 65 20 29 0d 0a 09 09 |Flag.bHo|me )....|
|00000230| 72 65 74 75 72 6e 20 74 | 72 75 65 3b 0d 0a 09 72 |return t|rue;...r|
|00000240| 65 74 75 72 6e 20 28 20 | 4e 2e 4c 61 73 74 44 65 |eturn ( |N.LastDe|
|00000250| 74 6f 75 72 57 65 69 67 | 68 74 20 2a 20 42 2e 52 |tourWeig|ht * B.R|
|00000260| 6f 75 74 65 44 69 73 74 | 20 3e 20 32 20 29 3b 0d |outeDist| > 2 );.|
|00000270| 0a 7d 0d 0a 0d 0a 2f 2a | 20 46 69 6e 64 50 61 74 |.}..../*| FindPat|
|00000280| 68 54 6f 4f 62 6a 65 63 | 74 69 76 65 28 29 0d 0a |hToObjec|tive()..|
|00000290| 52 65 74 75 72 6e 73 20 | 70 61 74 68 20 61 20 62 |Returns |path a b|
|000002a0| 6f 74 20 73 68 6f 75 6c | 64 20 75 73 65 20 6d 6f |ot shoul|d use mo|
|000002b0| 76 69 6e 67 20 74 6f 77 | 61 72 64 20 61 20 62 61 |ving tow|ard a ba|
|000002c0| 73 65 0d 0a 2a 2f 0d 0a | 66 75 6e 63 74 69 6f 6e |se..*/..|function|
|000002d0| 20 62 6f 6f 6c 20 46 69 | 6e 64 50 61 74 68 54 6f | bool Fi|ndPathTo|
|000002e0| 4f 62 6a 65 63 74 69 76 | 65 28 42 6f 74 20 42 2c |Objectiv|e(Bot B,|
|000002f0| 20 41 63 74 6f 72 20 4f | 29 0d 0a 7b 0d 0a 09 69 | Actor O|)..{...i|
|00000300| 66 20 28 20 28 56 65 68 | 69 63 6c 65 28 42 2e 50 |f ( (Veh|icle(B.P|
|00000310| 61 77 6e 29 20 21 3d 20 | 4e 6f 6e 65 29 20 26 26 |awn) != |None) &&|
|00000320| 20 28 28 43 54 46 46 6c | 61 67 28 4f 29 20 21 3d | ((CTFFl|ag(O) !=|
|00000330| 20 4e 6f 6e 65 29 20 7c | 7c 20 28 43 54 46 42 61 | None) ||| (CTFBa|
|00000340| 73 65 28 4f 29 20 21 3d | 20 4e 6f 6e 65 29 29 0d |se(O) !=| None)).|
|00000350| 0a 09 09 26 26 20 28 56 | 53 69 7a 65 28 42 2e 50 |...&& (V|Size(B.P|
|00000360| 61 77 6e 2e 4c 6f 63 61 | 74 69 6f 6e 20 2d 20 4f |awn.Loca|tion - O|
|00000370| 2e 4c 6f 63 61 74 69 6f | 6e 29 20 3c 20 31 30 30 |.Locatio|n) < 100|
|00000380| 30 29 20 26 26 20 42 2e | 4c 69 6e 65 4f 66 53 69 |0) && B.|LineOfSi|
|00000390| 67 68 74 54 6f 28 4f 29 | 20 29 0d 0a 09 7b 0d 0a |ghtTo(O)| )...{..|
|000003a0| 09 09 42 2e 46 6f 72 6d | 65 72 56 65 68 69 63 6c |..B.Form|erVehicl|
|000003b0| 65 20 3d 20 56 65 68 69 | 63 6c 65 28 42 2e 50 61 |e = Vehi|cle(B.Pa|
|000003c0| 77 6e 29 3b 0d 0a 09 09 | 56 65 68 69 63 6c 65 28 |wn);....|Vehicle(|
|000003d0| 42 2e 50 61 77 6e 29 2e | 54 65 61 6d 55 73 65 54 |B.Pawn).|TeamUseT|
|000003e0| 69 6d 65 20 3d 20 4c 65 | 76 65 6c 2e 54 69 6d 65 |ime = Le|vel.Time|
|000003f0| 53 65 63 6f 6e 64 73 20 | 2b 20 36 3b 0d 0a 09 09 |Seconds |+ 6;....|
|00000400| 56 65 68 69 63 6c 65 28 | 42 2e 50 61 77 6e 29 2e |Vehicle(|B.Pawn).|
|00000410| 4b 44 72 69 76 65 72 4c | 65 61 76 65 28 66 61 6c |KDriverL|eave(fal|
|00000420| 73 65 29 3b 0d 0a 09 09 | 69 66 20 28 20 28 56 65 |se);....|if ( (Ve|
|00000430| 68 69 63 6c 65 28 42 2e | 50 61 77 6e 29 20 3d 3d |hicle(B.|Pawn) ==|
|00000440| 20 4e 6f 6e 65 29 20 26 | 26 20 28 42 2e 50 61 77 | None) &|& (B.Paw|
|00000450| 6e 2e 50 68 79 73 69 63 | 73 20 3d 3d 20 50 48 59 |n.Physic|s == PHY|
|00000460| 53 5f 46 61 6c 6c 69 6e | 67 29 20 26 26 20 42 2e |S_Fallin|g) && B.|
|00000470| 44 6f 57 61 69 74 46 6f | 72 4c 61 6e 64 69 6e 67 |DoWaitFo|rLanding|
|00000480| 28 29 20 29 0d 0a 09 09 | 7b 0d 0a 09 09 09 42 2e |() )....|{.....B.|
|00000490| 50 61 77 6e 2e 56 65 6c | 6f 63 69 74 79 2e 5a 20 |Pawn.Vel|ocity.Z |
|000004a0| 3d 20 30 3b 0d 0a 09 09 | 09 72 65 74 75 72 6e 20 |= 0;....|.return |
|000004b0| 74 72 75 65 3b 0d 0a 09 | 09 7d 0d 0a 09 7d 0d 0a |true;...|.}...}..|
|000004c0| 0d 0a 09 69 66 20 28 20 | 28 42 2e 50 6c 61 79 65 |...if ( |(B.Playe|
|000004d0| 72 52 65 70 6c 69 63 61 | 74 69 6f 6e 49 6e 66 6f |rReplica|tionInfo|
|000004e0| 2e 48 61 73 46 6c 61 67 | 20 21 3d 20 45 6e 65 6d |.HasFlag| != Enem|
|000004f0| 79 46 6c 61 67 29 20 7c | 7c 20 28 4f 20 21 3d 20 |yFlag) ||| (O != |
|00000500| 46 72 69 65 6e 64 6c 79 | 46 6c 61 67 2e 48 6f 6d |Friendly|Flag.Hom|
|00000510| 65 42 61 73 65 29 20 29 | 0d 0a 09 09 72 65 74 75 |eBase) )|....retu|
|00000520| 72 6e 20 53 75 70 65 72 | 2e 46 69 6e 64 50 61 74 |rn Super|.FindPat|
|00000530| 68 54 6f 4f 62 6a 65 63 | 74 69 76 65 28 42 2c 20 |hToObjec|tive(B, |
|00000540| 4f 29 3b 0d 0a 0d 0a 09 | 69 66 20 28 20 42 2e 62 |O);.....|if ( B.b|
|00000550| 46 69 6e 61 6c 53 74 72 | 65 74 63 68 20 7c 7c 20 |FinalStr|etch || |
|00000560| 28 52 65 74 75 72 6e 50 | 61 74 68 20 3d 3d 20 4e |(ReturnP|ath == N|
|00000570| 6f 6e 65 29 20 7c 7c 20 | 28 28 4f 20 3d 3d 20 53 |one) || |((O == S|
|00000580| 71 75 61 64 4f 62 6a 65 | 63 74 69 76 65 29 20 26 |quadObje|ctive) &|
|00000590| 26 20 53 71 75 61 64 4f | 62 6a 65 63 74 69 76 65 |& SquadO|bjective|
|000005a0| 2e 42 6f 74 4e 65 61 72 | 4f 62 6a 65 63 74 69 76 |.BotNear|Objectiv|
|000005b0| 65 28 42 29 29 20 29 0d | 0a 09 09 72 65 74 75 72 |e(B)) ).|...retur|
|000005c0| 6e 20 42 2e 53 65 74 52 | 6f 75 74 65 54 6f 47 6f |n B.SetR|outeToGo|
|000005d0| 61 6c 28 4f 29 3b 0d 0a | 0d 0a 09 42 2e 4d 6f 76 |al(O);..|...B.Mov|
|000005e0| 65 54 61 72 67 65 74 20 | 3d 20 4e 6f 6e 65 3b 0d |eTarget |= None;.|
|000005f0| 0a 09 69 66 20 28 20 42 | 2e 41 63 74 6f 72 52 65 |..if ( B|.ActorRe|
|00000600| 61 63 68 61 62 6c 65 28 | 4f 29 20 29 0d 0a 09 7b |achable(|O) )...{|
|00000610| 0d 0a 09 09 69 66 20 28 | 20 28 56 65 68 69 63 6c |....if (| (Vehicl|
|00000620| 65 28 42 2e 50 61 77 6e | 29 20 21 3d 20 4e 6f 6e |e(B.Pawn|) != Non|
|00000630| 65 29 20 26 26 20 28 42 | 2e 50 61 77 6e 2e 4c 6f |e) && (B|.Pawn.Lo|
|00000640| 63 61 74 69 6f 6e 2e 5a | 20 2d 20 4f 2e 4c 6f 63 |cation.Z| - O.Loc|
|00000650| 61 74 69 6f 6e 2e 5a 20 | 3c 20 35 30 30 29 20 26 |ation.Z |< 500) &|
|00000660| 26 20 28 28 43 54 46 46 | 6c 61 67 28 4f 29 20 21 |& ((CTFF|lag(O) !|
|00000670| 3d 20 4e 6f 6e 65 29 20 | 7c 7c 20 28 43 54 46 42 |= None) ||| (CTFB|
|00000680| 61 73 65 28 4f 29 20 21 | 3d 20 4e 6f 6e 65 29 29 |ase(O) !|= None))|
|00000690| 20 29 0d 0a 09 09 09 56 | 65 68 69 63 6c 65 28 42 | ).....V|ehicle(B|
|000006a0| 2e 50 61 77 6e 29 2e 4b | 44 72 69 76 65 72 4c 65 |.Pawn).K|DriverLe|
|000006b0| 61 76 65 28 66 61 6c 73 | 65 29 3b 0d 0a 09 09 69 |ave(fals|e);....i|
|000006c0| 66 20 28 20 42 2e 50 61 | 77 6e 2e 52 65 61 63 68 |f ( B.Pa|wn.Reach|
|000006d0| 65 64 44 65 73 74 69 6e | 61 74 69 6f 6e 28 4f 29 |edDestin|ation(O)|
|000006e0| 20 29 0d 0a 09 09 7b 0d | 0a 09 09 09 4f 2e 54 6f | )....{.|....O.To|
|000006f0| 75 63 68 28 42 2e 50 61 | 77 6e 29 3b 0d 0a 09 09 |uch(B.Pa|wn);....|
|00000700| 09 72 65 74 75 72 6e 20 | 66 61 6c 73 65 3b 0d 0a |.return |false;..|
|00000710| 09 09 7d 0d 0a 09 09 42 | 2e 52 6f 75 74 65 47 6f |..}....B|.RouteGo|
|00000720| 61 6c 20 3d 20 4f 3b 0d | 0a 09 09 42 2e 52 6f 75 |al = O;.|...B.Rou|
|00000730| 74 65 43 61 63 68 65 5b | 30 5d 20 3d 20 4e 6f 6e |teCache[|0] = Non|
|00000740| 65 3b 0d 0a 09 09 42 2e | 47 6f 61 6c 53 74 72 69 |e;....B.|GoalStri|
|00000750| 6e 67 20 3d 20 42 2e 47 | 6f 61 6c 53 74 72 69 6e |ng = B.G|oalStrin|
|00000760| 67 40 22 61 6c 6d 6f 73 | 74 20 61 74 20 22 24 4f |g@"almos|t at "$O|
|00000770| 3b 0d 0a 09 09 42 2e 4d | 6f 76 65 54 61 72 67 65 |;....B.M|oveTarge|
|00000780| 74 20 3d 20 4f 3b 0d 0a | 09 09 42 2e 62 46 69 6e |t = O;..|..B.bFin|
|00000790| 61 6c 53 74 72 65 74 63 | 68 20 3d 20 74 72 75 65 |alStretc|h = true|
|000007a0| 3b 0d 0a 09 09 42 2e 53 | 65 74 41 74 74 72 61 63 |;....B.S|etAttrac|
|000007b0| 74 69 6f 6e 53 74 61 74 | 65 28 29 3b 0d 0a 09 09 |tionStat|e();....|
|000007c0| 72 65 74 75 72 6e 20 74 | 72 75 65 3b 0d 0a 09 7d |return t|rue;...}|
|000007d0| 0d 0a 0d 0a 09 69 66 20 | 28 20 42 2e 50 61 77 6e |.....if |( B.Pawn|
|000007e0| 2e 52 65 61 63 68 65 64 | 44 65 73 74 69 6e 61 74 |.Reached|Destinat|
|000007f0| 69 6f 6e 28 52 65 74 75 | 72 6e 50 61 74 68 29 20 |ion(Retu|rnPath) |
|00000800| 29 0d 0a 09 7b 0d 0a 09 | 09 42 2e 47 6f 61 6c 53 |)...{...|.B.GoalS|
|00000810| 74 72 69 6e 67 20 3d 20 | 42 2e 47 6f 61 6c 53 74 |tring = |B.GoalSt|
|00000820| 72 69 6e 67 40 22 46 69 | 6e 64 20 70 61 74 68 20 |ring@"Fi|nd path |
|00000830| 74 6f 20 22 24 4f 24 22 | 20 6e 6f 77 20 6e 65 61 |to "$O$"| now nea|
|00000840| 72 20 22 24 52 65 74 75 | 72 6e 50 61 74 68 3b 0d |r "$Retu|rnPath;.|
|00000850| 0a 09 09 42 2e 4d 6f 76 | 65 54 61 72 67 65 74 20 |...B.Mov|eTarget |
|00000860| 3d 20 52 65 74 75 72 6e | 50 61 74 68 3b 0d 0a 09 |= Return|Path;...|
|00000870| 09 52 65 74 75 72 6e 50 | 61 74 68 20 3d 20 52 65 |.ReturnP|ath = Re|
|00000880| 74 75 72 6e 50 61 74 68 | 2e 46 69 6e 64 50 72 65 |turnPath|.FindPre|
|00000890| 76 69 6f 75 73 50 61 74 | 68 28 52 65 74 75 72 6e |viousPat|h(Return|
|000008a0| 50 61 74 68 54 61 67 29 | 3b 0d 0a 09 09 69 66 20 |PathTag)|;....if |
|000008b0| 28 20 52 65 74 75 72 6e | 50 61 74 68 20 3d 3d 20 |( Return|Path == |
|000008c0| 4e 6f 6e 65 20 29 0d 0a | 09 09 7b 0d 0a 09 09 09 |None )..|..{.....|
|000008d0| 42 2e 62 46 69 6e 61 6c | 53 74 72 65 74 63 68 20 |B.bFinal|Stretch |
|000008e0| 3d 20 74 72 75 65 3b 0d | 0a 09 09 09 42 2e 46 69 |= true;.|....B.Fi|
|000008f0| 6e 64 42 65 73 74 50 61 | 74 68 54 6f 77 61 72 64 |ndBestPa|thToward|
|00000900| 28 4f 2c 74 72 75 65 2c | 74 72 75 65 29 3b 0d 0a |(O,true,|true);..|
|00000910| 09 09 7d 0d 0a 09 09 65 | 6c 73 65 0d 0a 09 09 09 |..}....e|lse.....|
|00000920| 42 2e 46 69 6e 64 42 65 | 73 74 50 61 74 68 54 6f |B.FindBe|stPathTo|
|00000930| 77 61 72 64 28 52 65 74 | 75 72 6e 50 61 74 68 2c |ward(Ret|urnPath,|
|00000940| 74 72 75 65 2c 74 72 75 | 65 29 3b 0d 0a 09 7d 0d |true,tru|e);...}.|
|00000950| 0a 09 65 6c 73 65 0d 0a | 09 7b 0d 0a 09 09 42 2e |..else..|.{....B.|
|00000960| 47 6f 61 6c 53 74 72 69 | 6e 67 20 3d 20 42 2e 47 |GoalStri|ng = B.G|
|00000970| 6f 61 6c 53 74 72 69 6e | 67 40 22 46 69 6e 64 20 |oalStrin|g@"Find |
|00000980| 70 61 74 68 20 74 6f 20 | 22 24 4f 24 22 20 74 68 |path to |"$O$" th|
|00000990| 72 6f 75 67 68 20 22 24 | 52 65 74 75 72 6e 50 61 |rough "$|ReturnPa|
|000009a0| 74 68 3b 0d 0a 09 09 69 | 66 20 28 20 21 42 2e 46 |th;....i|f ( !B.F|
|000009b0| 69 6e 64 42 65 73 74 50 | 61 74 68 54 6f 77 61 72 |indBestP|athTowar|
|000009c0| 64 28 52 65 74 75 72 6e | 50 61 74 68 2c 74 72 75 |d(Return|Path,tru|
|000009d0| 65 2c 74 72 75 65 29 20 | 29 0d 0a 09 09 7b 0d 0a |e,true) |)....{..|
|000009e0| 09 09 09 42 2e 47 6f 61 | 6c 53 74 72 69 6e 67 20 |...B.Goa|lString |
|000009f0| 3d 20 42 2e 47 6f 61 6c | 53 74 72 69 6e 67 40 22 |= B.Goal|String@"|
|00000a00| 46 69 6e 64 20 70 61 74 | 68 20 74 6f 20 22 24 4f |Find pat|h to "$O|
|00000a10| 24 22 20 6e 6f 20 70 61 | 74 68 20 74 6f 20 52 65 |$" no pa|th to Re|
|00000a20| 74 75 72 6e 50 61 74 68 | 22 3b 0d 0a 09 09 09 69 |turnPath|";.....i|
|00000a30| 66 20 28 20 42 2e 62 53 | 6f 61 6b 69 6e 67 20 26 |f ( B.bS|oaking &|
|00000a40| 26 20 28 50 68 79 73 69 | 63 73 20 21 3d 20 50 48 |& (Physi|cs != PH|
|00000a50| 59 53 5f 46 61 6c 6c 69 | 6e 67 29 20 29 0d 0a 09 |YS_Falli|ng) )...|
|00000a60| 09 09 09 42 2e 53 6f 61 | 6b 53 74 6f 70 28 22 43 |...B.Soa|kStop("C|
|00000a70| 4f 55 4c 44 4e 27 54 20 | 46 49 4e 44 20 50 41 54 |OULDN'T |FIND PAT|
|00000a80| 48 20 54 4f 20 52 45 54 | 55 52 4e 50 41 54 48 20 |H TO RET|URNPATH |
|00000a90| 22 24 52 65 74 75 72 6e | 50 61 74 68 29 3b 0d 0a |"$Return|Path);..|
|00000aa0| 09 09 09 42 2e 46 69 6e | 64 42 65 73 74 50 61 74 |...B.Fin|dBestPat|
|00000ab0| 68 54 6f 77 61 72 64 28 | 4f 2c 74 72 75 65 2c 74 |hToward(|O,true,t|
|00000ac0| 72 75 65 29 3b 0d 0a 09 | 09 7d 0d 0a 09 7d 0d 0a |rue);...|.}...}..|
|00000ad0| 09 72 65 74 75 72 6e 20 | 42 2e 53 74 61 72 74 4d |.return |B.StartM|
|00000ae0| 6f 76 65 54 6f 77 61 72 | 64 28 4f 29 3b 0d 0a 7d |oveTowar|d(O);..}|
|00000af0| 0d 0a 0d 0a 66 75 6e 63 | 74 69 6f 6e 20 62 6f 6f |....func|tion boo|
|00000b00| 6c 20 41 6c 6c 6f 77 54 | 72 61 6e 73 6c 6f 63 61 |l AllowT|ransloca|
|00000b10| 74 69 6f 6e 42 79 28 42 | 6f 74 20 42 29 0d 0a 7b |tionBy(B|ot B)..{|
|00000b20| 0d 0a 09 72 65 74 75 72 | 6e 20 28 20 42 2e 50 61 |...retur|n ( B.Pa|
|00000b30| 77 6e 20 21 3d 20 45 6e | 65 6d 79 46 6c 61 67 2e |wn != En|emyFlag.|
|00000b40| 48 6f 6c 64 65 72 20 29 | 3b 0d 0a 7d 0d 0a 0d 0a |Holder )|;..}....|
|00000b50| 2f 2a 20 47 6f 50 69 63 | 6b 75 70 46 6c 61 67 28 |/* GoPic|kupFlag(|
|00000b60| 29 0d 0a 68 61 76 65 20 | 62 6f 74 20 67 6f 20 70 |)..have |bot go p|
|00000b70| 69 63 6b 75 70 20 64 72 | 6f 70 70 65 64 20 66 72 |ickup dr|opped fr|
|00000b80| 69 65 6e 64 6c 79 20 66 | 6c 61 67 0d 0a 2a 2f 0d |iendly f|lag..*/.|
|00000b90| 0a 66 75 6e 63 74 69 6f | 6e 20 62 6f 6f 6c 20 47 |.functio|n bool G|
|00000ba0| 6f 50 69 63 6b 75 70 46 | 6c 61 67 28 42 6f 74 20 |oPickupF|lag(Bot |
|00000bb0| 42 29 0d 0a 7b 0d 0a 09 | 69 66 20 28 20 46 69 6e |B)..{...|if ( Fin|
|00000bc0| 64 50 61 74 68 54 6f 4f | 62 6a 65 63 74 69 76 65 |dPathToO|bjective|
|00000bd0| 28 42 2c 46 72 69 65 6e | 64 6c 79 46 6c 61 67 29 |(B,Frien|dlyFlag)|
|00000be0| 20 29 0d 0a 09 7b 0d 0a | 09 09 69 66 20 28 20 4c | )...{..|..if ( L|
|00000bf0| 65 76 65 6c 2e 54 69 6d | 65 53 65 63 6f 6e 64 73 |evel.Tim|eSeconds|
|00000c00| 20 2d 20 43 54 46 54 65 | 61 6d 41 49 28 54 65 61 | - CTFTe|amAI(Tea|
|00000c10| 6d 2e 41 49 29 2e 4c 61 | 73 74 47 6f 74 46 6c 61 |m.AI).La|stGotFla|
|00000c20| 67 20 3e 20 36 20 29 0d | 0a 09 09 7b 0d 0a 09 09 |g > 6 ).|...{....|
|00000c30| 09 43 54 46 54 65 61 6d | 41 49 28 54 65 61 6d 2e |.CTFTeam|AI(Team.|
|00000c40| 41 49 29 2e 4c 61 73 74 | 47 6f 74 46 6c 61 67 20 |AI).Last|GotFlag |
|00000c50| 3d 20 4c 65 76 65 6c 2e | 54 69 6d 65 53 65 63 6f |= Level.|TimeSeco|
|00000c60| 6e 64 73 3b 0d 0a 09 09 | 09 42 2e 53 65 6e 64 4d |nds;....|.B.SendM|
|00000c70| 65 73 73 61 67 65 28 4e | 6f 6e 65 2c 20 27 4f 54 |essage(N|one, 'OT|
|00000c80| 48 45 52 27 2c 20 42 2e | 47 65 74 4d 65 73 73 61 |HER', B.|GetMessa|
|00000c90| 67 65 49 6e 64 65 78 28 | 27 47 4f 54 4f 55 52 46 |geIndex(|'GOTOURF|
|00000ca0| 4c 41 47 27 29 2c 20 32 | 30 2c 20 27 54 45 41 4d |LAG'), 2|0, 'TEAM|
|00000cb0| 27 29 3b 0d 0a 09 09 7d | 0d 0a 09 09 42 2e 47 6f |');....}|....B.Go|
|00000cc0| 61 6c 53 74 72 69 6e 67 | 20 3d 20 22 50 69 63 6b |alString| = "Pick|
|00000cd0| 75 70 20 66 72 69 65 6e | 64 6c 79 20 66 6c 61 67 |up frien|dly flag|
|00000ce0| 22 3b 0d 0a 09 09 72 65 | 74 75 72 6e 20 74 72 75 |";....re|turn tru|
|00000cf0| 65 3b 0d 0a 09 7d 0d 0a | 09 72 65 74 75 72 6e 20 |e;...}..|.return |
|00000d00| 66 61 6c 73 65 3b 0d 0a | 7d 0d 0a 0d 0a 66 75 6e |false;..|}....fun|
|00000d10| 63 74 69 6f 6e 20 61 63 | 74 6f 72 20 46 6f 72 6d |ction ac|tor Form|
|00000d20| 61 74 69 6f 6e 43 65 6e | 74 65 72 28 29 0d 0a 7b |ationCen|ter()..{|
|00000d30| 0d 0a 09 69 66 20 28 20 | 28 53 71 75 61 64 4f 62 |...if ( |(SquadOb|
|00000d40| 6a 65 63 74 69 76 65 20 | 21 3d 20 4e 6f 6e 65 29 |jective |!= None)|
|00000d50| 20 26 26 20 28 53 71 75 | 61 64 4f 62 6a 65 63 74 | && (Squ|adObject|
|00000d60| 69 76 65 2e 44 65 66 65 | 6e 64 65 72 54 65 61 6d |ive.Defe|nderTeam|
|00000d70| 49 6e 64 65 78 20 3d 3d | 20 54 65 61 6d 2e 54 65 |Index ==| Team.Te|
|00000d80| 61 6d 49 6e 64 65 78 29 | 20 29 0d 0a 09 09 72 65 |amIndex)| )....re|
|00000d90| 74 75 72 6e 20 53 71 75 | 61 64 4f 62 6a 65 63 74 |turn Squ|adObject|
|00000da0| 69 76 65 3b 0d 0a 09 69 | 66 20 28 20 28 45 6e 65 |ive;...i|f ( (Ene|
|00000db0| 6d 79 46 6c 61 67 2e 48 | 6f 6c 64 65 72 20 21 3d |myFlag.H|older !=|
|00000dc0| 20 4e 6f 6e 65 29 20 26 | 26 20 28 47 65 74 4f 72 | None) &|& (GetOr|
|00000dd0| 64 65 72 73 28 29 20 21 | 3d 20 27 44 65 66 65 6e |ders() !|= 'Defen|
|00000de0| 64 27 29 20 26 26 20 21 | 53 71 75 61 64 4c 65 61 |d') && !|SquadLea|
|00000df0| 64 65 72 2e 49 73 41 28 | 27 50 6c 61 79 65 72 43 |der.IsA(|'PlayerC|
|00000e00| 6f 6e 74 72 6f 6c 6c 65 | 72 27 29 20 29 0d 0a 09 |ontrolle|r') )...|
|00000e10| 09 72 65 74 75 72 6e 20 | 45 6e 65 6d 79 46 6c 61 |.return |EnemyFla|
|00000e20| 67 2e 48 6f 6c 64 65 72 | 3b 0d 0a 09 72 65 74 75 |g.Holder|;...retu|
|00000e30| 72 6e 20 53 71 75 61 64 | 4c 65 61 64 65 72 2e 50 |rn Squad|Leader.P|
|00000e40| 61 77 6e 3b 0d 0a 7d 0d | 0a 0d 0a 66 75 6e 63 74 |awn;..}.|...funct|
|00000e50| 69 6f 6e 20 62 6f 6f 6c | 20 56 69 73 69 62 6c 65 |ion bool| Visible|
|00000e60| 54 6f 45 6e 65 6d 69 65 | 73 4f 66 28 41 63 74 6f |ToEnemie|sOf(Acto|
|00000e70| 72 20 41 2c 20 42 6f 74 | 20 42 29 0d 0a 7b 0d 0a |r A, Bot| B)..{..|
|00000e80| 09 69 66 20 28 20 28 42 | 2e 45 6e 65 6d 79 20 21 |.if ( (B|.Enemy !|
|00000e90| 3d 20 4e 6f 6e 65 29 20 | 26 26 20 46 61 73 74 54 |= None) |&& FastT|
|00000ea0| 72 61 63 65 28 41 2e 4c | 6f 63 61 74 69 6f 6e 2c |race(A.L|ocation,|
|00000eb0| 20 42 2e 45 6e 65 6d 79 | 2e 4c 6f 63 61 74 69 6f | B.Enemy|.Locatio|
|00000ec0| 6e 20 2b 20 42 2e 45 6e | 65 6d 79 2e 43 6f 6c 6c |n + B.En|emy.Coll|
|00000ed0| 69 73 69 6f 6e 48 65 69 | 67 68 74 20 2a 20 76 65 |isionHei|ght * ve|
|00000ee0| 63 74 28 30 2c 30 2c 31 | 29 29 20 29 0d 0a 09 09 |ct(0,0,1|)) )....|
|00000ef0| 72 65 74 75 72 6e 20 74 | 72 75 65 3b 0d 0a 09 72 |return t|rue;...r|
|00000f00| 65 74 75 72 6e 20 66 61 | 6c 73 65 3b 0d 0a 7d 0d |eturn fa|lse;..}.|
|00000f10| 0a 0d 0a 66 75 6e 63 74 | 69 6f 6e 20 4e 61 76 69 |...funct|ion Navi|
|00000f20| 67 61 74 69 6f 6e 50 6f | 69 6e 74 20 46 69 6e 64 |gationPo|int Find|
|00000f30| 48 69 64 65 50 61 74 68 | 46 6f 72 28 42 6f 74 20 |HidePath|For(Bot |
|00000f40| 42 29 0d 0a 7b 0d 0a 09 | 6c 6f 63 61 6c 20 4e 61 |B)..{...|local Na|
|00000f50| 76 69 67 61 74 69 6f 6e | 50 6f 69 6e 74 20 4e 3b |vigation|Point N;|
|00000f60| 0d 0a 09 6c 6f 63 61 6c | 20 49 6e 76 65 6e 74 6f |...local| Invento|
|00000f70| 72 79 53 70 6f 74 20 42 | 65 73 74 3b 0d 0a 09 6c |rySpot B|est;...l|
|00000f80| 6f 63 61 6c 20 66 6c 6f | 61 74 20 4e 65 77 44 2c |ocal flo|at NewD,|
|00000f90| 20 42 65 73 74 44 3b 0d | 0a 09 6c 6f 63 61 6c 20 | BestD;.|..local |
|00000fa0| 69 6e 74 20 4d 79 54 65 | 61 6d 4e 75 6d 2c 20 45 |int MyTe|amNum, E|
|00000fb0| 6e 65 6d 79 54 65 61 6d | 4e 75 6d 3b 0d 0a 0d 0a |nemyTeam|Num;....|
|00000fc0| 09 4d 79 54 65 61 6d 4e | 75 6d 20 3d 20 54 65 61 |.MyTeamN|um = Tea|
|00000fd0| 6d 2e 54 65 61 6d 49 6e | 64 65 78 3b 0d 0a 09 69 |m.TeamIn|dex;...i|
|00000fe0| 66 20 28 20 4d 79 54 65 | 61 6d 4e 75 6d 20 3d 3d |f ( MyTe|amNum ==|
|00000ff0| 20 30 20 29 0d 0a 09 09 | 45 6e 65 6d 79 54 65 61 | 0 )....|EnemyTea|
|00001000| 6d 4e 75 6d 20 3d 20 31 | 3b 0d 0a 0d 0a 09 2f 2f |mNum = 1|;.....//|
|00001010| 20 6c 6f 6f 6b 20 66 6f | 72 20 6e 65 61 72 62 79 | look fo|r nearby|
|00001020| 20 69 6e 76 65 6e 74 6f | 72 79 0d 0a 09 2f 2f 20 | invento|ry...// |
|00001030| 73 74 61 79 20 61 77 61 | 79 20 66 72 6f 6d 20 65 |stay awa|y from e|
|00001040| 6e 65 6d 69 65 73 2c 20 | 61 6e 64 20 65 6e 65 6d |nemies, |and enem|
|00001050| 79 20 62 61 73 65 0d 0a | 09 2f 2f 20 64 6f 6e 27 |y base..|.// don'|
|00001060| 74 20 67 6f 20 74 6f 6f | 20 66 61 72 0d 0a 0d 0a |t go too| far....|
|00001070| 09 46 6f 72 20 28 20 4e | 3d 4c 65 76 65 6c 2e 4e |.For ( N|=Level.N|
|00001080| 61 76 69 67 61 74 69 6f | 6e 50 6f 69 6e 74 4c 69 |avigatio|nPointLi|
|00001090| 73 74 3b 20 4e 21 3d 4e | 6f 6e 65 3b 20 4e 3d 4e |st; N!=N|one; N=N|
|000010a0| 2e 4e 65 78 74 4e 61 76 | 69 67 61 74 69 6f 6e 50 |.NextNav|igationP|
|000010b0| 6f 69 6e 74 20 29 0d 0a | 09 09 69 66 20 28 20 28 |oint )..|..if ( (|
|000010c0| 49 6e 76 65 6e 74 6f 72 | 79 53 70 6f 74 28 4e 29 |Inventor|ySpot(N)|
|000010d0| 20 21 3d 20 4e 6f 6e 65 | 29 0d 0a 09 09 09 26 26 | != None|).....&&|
|000010e0| 20 28 4e 2e 42 61 73 65 | 56 69 73 69 62 6c 65 5b | (N.Base|Visible[|
|000010f0| 45 6e 65 6d 79 54 65 61 | 6d 4e 75 6d 5d 20 3d 3d |EnemyTea|mNum] ==|
|00001100| 20 30 29 0d 0a 09 09 09 | 26 26 20 28 4e 2e 42 61 | 0).....|&& (N.Ba|
|00001110| 73 65 44 69 73 74 5b 4d | 79 54 65 61 6d 4e 75 6d |seDist[M|yTeamNum|
|00001120| 5d 20 3c 20 46 4d 69 6e | 28 32 34 30 30 2c 30 2e |] < FMin|(2400,0.|
|00001130| 37 2a 4e 2e 42 61 73 65 | 44 69 73 74 5b 45 6e 65 |7*N.Base|Dist[Ene|
|00001140| 6d 79 54 65 61 6d 4e 75 | 6d 5d 29 29 20 29 0d 0a |myTeamNu|m])) )..|
|00001150| 09 09 7b 0d 0a 09 09 09 | 69 66 20 28 20 42 65 73 |..{.....|if ( Bes|
|00001160| 74 20 3d 3d 20 4e 6f 6e | 65 20 29 0d 0a 09 09 09 |t == Non|e ).....|
|00001170| 7b 0d 0a 09 09 09 09 69 | 66 20 28 20 21 56 69 73 |{......i|f ( !Vis|
|00001180| 69 62 6c 65 54 6f 45 6e | 65 6d 69 65 73 4f 66 28 |ibleToEn|emiesOf(|
|00001190| 4e 2c 42 29 20 29 0d 0a | 09 09 09 09 7b 0d 0a 09 |N,B) )..|....{...|
|000011a0| 09 09 09 09 42 65 73 74 | 20 3d 20 49 6e 76 65 6e |....Best| = Inven|
|000011b0| 74 6f 72 79 53 70 6f 74 | 28 4e 29 3b 0d 0a 09 09 |torySpot|(N);....|
|000011c0| 09 09 09 69 66 20 28 20 | 28 42 65 73 74 2e 6d 61 |...if ( |(Best.ma|
|000011d0| 72 6b 65 64 49 74 65 6d | 20 21 3d 20 4e 6f 6e 65 |rkedItem| != None|
|000011e0| 29 20 26 26 20 42 65 73 | 74 2e 6d 61 72 6b 65 64 |) && Bes|t.marked|
|000011f0| 49 74 65 6d 2e 52 65 61 | 64 79 54 6f 50 69 63 6b |Item.Rea|dyToPick|
|00001200| 75 70 28 33 29 20 29 0d | 0a 09 09 09 09 09 09 42 |up(3) ).|.......B|
|00001210| 65 73 74 44 20 3d 20 42 | 65 73 74 2e 6d 61 72 6b |estD = B|est.mark|
|00001220| 65 64 49 74 65 6d 2e 42 | 6f 74 44 65 73 69 72 65 |edItem.B|otDesire|
|00001230| 61 62 69 6c 69 74 79 28 | 42 2e 50 61 77 6e 29 3b |ability(|B.Pawn);|
|00001240| 0d 0a 09 09 09 09 7d 0d | 0a 09 09 09 7d 0d 0a 09 |......}.|....}...|
|00001250| 09 09 65 6c 73 65 20 69 | 66 20 28 20 28 28 42 65 |..else i|f ( ((Be|
|00001260| 73 74 2e 6d 61 72 6b 65 | 64 49 74 65 6d 20 3d 3d |st.marke|dItem ==|
|00001270| 20 4e 6f 6e 65 29 20 7c | 7c 20 21 42 65 73 74 2e | None) ||| !Best.|
|00001280| 6d 61 72 6b 65 64 49 74 | 65 6d 2e 52 65 61 64 79 |markedIt|em.Ready|
|00001290| 54 6f 50 69 63 6b 75 70 | 28 33 29 29 20 26 26 20 |ToPickup|(3)) && |
|000012a0| 28 49 6e 76 65 6e 74 6f | 72 79 53 70 6f 74 28 4e |(Invento|rySpot(N|
|000012b0| 29 2e 6d 61 72 6b 65 64 | 49 74 65 6d 20 21 3d 20 |).marked|Item != |
|000012c0| 4e 6f 6e 65 29 20 29 0d | 0a 09 09 09 7b 0d 0a 09 |None) ).|....{...|
|000012d0| 09 09 09 69 66 20 28 20 | 28 49 6e 76 65 6e 74 6f |...if ( |(Invento|
|000012e0| 72 79 53 70 6f 74 28 4e | 29 2e 6d 61 72 6b 65 64 |rySpot(N|).marked|
|000012f0| 49 74 65 6d 2e 52 65 61 | 64 79 54 6f 50 69 63 6b |Item.Rea|dyToPick|
|00001300| 75 70 28 33 29 20 7c 7c | 20 28 46 52 61 6e 64 28 |up(3) ||| (FRand(|
|00001310| 29 20 3c 20 30 2e 35 29 | 29 0d 0a 09 09 09 09 09 |) < 0.5)|).......|
|00001320| 26 26 20 21 56 69 73 69 | 62 6c 65 54 6f 45 6e 65 |&& !Visi|bleToEne|
|00001330| 6d 69 65 73 4f 66 28 4e | 2c 42 29 20 20 29 0d 0a |miesOf(N|,B) )..|
|00001340| 09 09 09 09 7b 0d 0a 09 | 09 09 09 09 42 65 73 74 |....{...|....Best|
|00001350| 20 3d 20 49 6e 76 65 6e | 74 6f 72 79 53 70 6f 74 | = Inven|torySpot|
|00001360| 28 4e 29 3b 0d 0a 09 09 | 09 09 09 42 65 73 74 44 |(N);....|...BestD|
|00001370| 20 3d 20 42 65 73 74 2e | 6d 61 72 6b 65 64 49 74 | = Best.|markedIt|
|00001380| 65 6d 2e 42 6f 74 44 65 | 73 69 72 65 61 62 69 6c |em.BotDe|sireabil|
|00001390| 69 74 79 28 42 2e 50 61 | 77 6e 29 3b 0d 0a 09 09 |ity(B.Pa|wn);....|
|000013a0| 09 09 7d 0d 0a 09 09 09 | 7d 0d 0a 09 09 09 65 6c |..}.....|}.....el|
|000013b0| 73 65 20 69 66 20 28 20 | 28 49 6e 76 65 6e 74 6f |se if ( |(Invento|
|000013c0| 72 79 53 70 6f 74 28 4e | 29 2e 6d 61 72 6b 65 64 |rySpot(N|).marked|
|000013d0| 49 74 65 6d 20 21 3d 20 | 4e 6f 6e 65 29 20 26 26 |Item != |None) &&|
|000013e0| 20 49 6e 76 65 6e 74 6f | 72 79 53 70 6f 74 28 4e | Invento|rySpot(N|
|000013f0| 29 2e 6d 61 72 6b 65 64 | 49 74 65 6d 2e 52 65 61 |).marked|Item.Rea|
|00001400| 64 79 54 6f 50 69 63 6b | 75 70 28 33 29 20 29 0d |dyToPick|up(3) ).|
|00001410| 0a 09 09 09 7b 0d 0a 09 | 09 09 09 4e 65 77 44 20 |....{...|...NewD |
|00001420| 3d 20 49 6e 76 65 6e 74 | 6f 72 79 53 70 6f 74 28 |= Invent|orySpot(|
|00001430| 4e 29 2e 6d 61 72 6b 65 | 64 49 74 65 6d 2e 42 6f |N).marke|dItem.Bo|
|00001440| 74 44 65 73 69 72 65 61 | 62 69 6c 69 74 79 28 42 |tDesirea|bility(B|
|00001450| 2e 50 61 77 6e 29 3b 0d | 0a 09 09 09 09 69 66 20 |.Pawn);.|.....if |
|00001460| 28 20 28 4e 65 77 44 20 | 3e 20 42 65 73 74 44 29 |( (NewD |> BestD)|
|00001470| 20 26 26 20 21 56 69 73 | 69 62 6c 65 54 6f 45 6e | && !Vis|ibleToEn|
|00001480| 65 6d 69 65 73 4f 66 28 | 4e 2c 42 29 20 29 0d 0a |emiesOf(|N,B) )..|
|00001490| 09 09 09 09 7b 0d 0a 09 | 09 09 09 09 42 65 73 74 |....{...|....Best|
|000014a0| 20 3d 20 49 6e 76 65 6e | 74 6f 72 79 53 70 6f 74 | = Inven|torySpot|
|000014b0| 28 4e 29 3b 0d 0a 09 09 | 09 09 09 42 65 73 74 44 |(N);....|...BestD|
|000014c0| 20 3d 20 4e 65 77 44 3b | 0d 0a 09 09 09 09 7d 0d | = NewD;|......}.|
|000014d0| 0a 09 09 09 7d 0d 0a 09 | 09 7d 0d 0a 09 72 65 74 |....}...|.}...ret|
|000014e0| 75 72 6e 20 42 65 73 74 | 3b 0d 0a 7d 0d 0a 0d 0a |urn Best|;..}....|
|000014f0| 66 75 6e 63 74 69 6f 6e | 20 62 6f 6f 6c 20 43 68 |function| bool Ch|
|00001500| 65 63 6b 56 65 68 69 63 | 6c 65 28 42 6f 74 20 42 |eckVehic|le(Bot B|
|00001510| 29 0d 0a 7b 0d 0a 09 69 | 66 20 28 20 28 45 6e 65 |)..{...i|f ( (Ene|
|00001520| 6d 79 46 6c 61 67 2e 48 | 6f 6c 64 65 72 20 3d 3d |myFlag.H|older ==|
|00001530| 20 4e 6f 6e 65 29 20 26 | 26 20 28 56 53 69 7a 65 | None) &|& (VSize|
|00001540| 28 42 2e 50 61 77 6e 2e | 4c 6f 63 61 74 69 6f 6e |(B.Pawn.|Location|
|00001550| 20 2d 20 45 6e 65 6d 79 | 46 6c 61 67 2e 50 6f 73 | - Enemy|Flag.Pos|
|00001560| 69 74 69 6f 6e 28 29 2e | 4c 6f 63 61 74 69 6f 6e |ition().|Location|
|00001570| 29 20 3c 20 31 36 30 30 | 29 20 29 0d 0a 09 09 72 |) < 1600|) )....r|
|00001580| 65 74 75 72 6e 20 66 61 | 6c 73 65 3b 0d 0a 09 69 |eturn fa|lse;...i|
|00001590| 66 20 28 20 28 42 2e 50 | 6c 61 79 65 72 52 65 70 |f ( (B.P|layerRep|
|000015a0| 6c 69 63 61 74 69 6f 6e | 49 6e 66 6f 2e 48 61 73 |lication|Info.Has|
|000015b0| 46 6c 61 67 20 21 3d 20 | 4e 6f 6e 65 29 20 26 26 |Flag != |None) &&|
|000015c0| 20 28 56 53 69 7a 65 28 | 42 2e 50 61 77 6e 2e 4c | (VSize(|B.Pawn.L|
|000015d0| 6f 63 61 74 69 6f 6e 20 | 2d 20 46 72 69 65 6e 64 |ocation |- Friend|
|000015e0| 6c 79 46 6c 61 67 2e 48 | 6f 6d 65 42 61 73 65 2e |lyFlag.H|omeBase.|
|000015f0| 4c 6f 63 61 74 69 6f 6e | 29 20 3c 20 31 36 30 30 |Location|) < 1600|
|00001600| 29 20 29 0d 0a 09 09 72 | 65 74 75 72 6e 20 66 61 |) )....r|eturn fa|
|00001610| 6c 73 65 3b 0d 0a 0d 0a | 09 72 65 74 75 72 6e 20 |lse;....|.return |
|00001620| 53 75 70 65 72 2e 43 68 | 65 63 6b 56 65 68 69 63 |Super.Ch|eckVehic|
|00001630| 6c 65 28 42 29 3b 0d 0a | 7d 0d 0a 0d 0a 2f 2a 20 |le(B);..|}..../* |
|00001640| 4f 72 64 65 72 73 46 6f | 72 46 6c 61 67 43 61 72 |OrdersFo|rFlagCar|
|00001650| 72 69 65 72 28 29 0d 0a | 54 65 6c 6c 20 62 6f 74 |rier()..|Tell bot|
|00001660| 20 77 68 61 74 20 74 6f | 20 64 6f 20 69 66 20 68 | what to| do if h|
|00001670| 65 27 73 20 63 61 72 72 | 79 69 6e 67 20 74 68 65 |e's carr|ying the|
|00001680| 20 66 6c 61 67 0d 0a 2a | 2f 0d 0a 66 75 6e 63 74 | flag..*|/..funct|
|00001690| 69 6f 6e 20 62 6f 6f 6c | 20 4f 72 64 65 72 73 46 |ion bool| OrdersF|
|000016a0| 6f 72 46 6c 61 67 43 61 | 72 72 69 65 72 28 42 6f |orFlagCa|rrier(Bo|
|000016b0| 74 20 42 29 0d 0a 7b 0d | 0a 09 69 66 20 28 20 43 |t B)..{.|..if ( C|
|000016c0| 68 65 63 6b 56 65 68 69 | 63 6c 65 28 42 29 20 29 |heckVehi|cle(B) )|
|000016d0| 0d 0a 09 7b 0d 0a 09 09 | 42 2e 47 6f 61 6c 53 74 |...{....|B.GoalSt|
|000016e0| 72 69 6e 67 20 3d 20 22 | 47 6f 20 74 6f 20 76 65 |ring = "|Go to ve|
|000016f0| 68 69 63 6c 65 22 3b 0d | 0a 09 09 42 2e 53 65 74 |hicle";.|...B.Set|
|00001700| 41 74 74 72 61 63 74 69 | 6f 6e 53 74 61 74 65 28 |Attracti|onState(|
|00001710| 29 3b 0d 0a 09 09 72 65 | 74 75 72 6e 20 74 72 75 |);....re|turn tru|
|00001720| 65 3b 0d 0a 09 7d 0d 0a | 0d 0a 09 69 66 20 28 20 |e;...}..|...if ( |
|00001730| 42 2e 50 61 77 6e 2e 48 | 65 61 6c 74 68 20 3c 20 |B.Pawn.H|ealth < |
|00001740| 34 30 20 29 0d 0a 09 09 | 42 2e 54 72 79 43 6f 6d |40 )....|B.TryCom|
|00001750| 62 6f 28 22 78 47 61 6d | 65 2e 43 6f 6d 62 6f 44 |bo("xGam|e.ComboD|
|00001760| 65 66 65 6e 73 69 76 65 | 22 29 3b 0d 0a 09 65 6c |efensive|");...el|
|00001770| 73 65 0d 0a 09 09 42 2e | 54 72 79 43 6f 6d 62 6f |se....B.|TryCombo|
|00001780| 28 22 78 47 61 6d 65 2e | 43 6f 6d 62 6f 53 70 65 |("xGame.|ComboSpe|
|00001790| 65 64 22 29 3b 0d 0a 0d | 0a 09 2f 2f 20 70 69 63 |ed");...|..// pic|
|000017a0| 6b 75 70 20 64 72 6f 70 | 70 65 64 20 66 6c 61 67 |kup drop|ped flag|
|000017b0| 20 69 66 20 73 65 65 20 | 69 74 20 6e 65 61 72 62 | if see |it nearb|
|000017c0| 79 0d 0a 09 2f 2f 20 46 | 49 58 4d 45 20 2d 20 64 |y...// F|IXME - d|
|000017d0| 6f 6e 27 74 20 75 73 65 | 20 70 75 72 65 20 64 69 |on't use| pure di|
|000017e0| 73 74 61 6e 63 65 20 2d | 20 61 6c 73 6f 20 63 68 |stance -| also ch|
|000017f0| 65 63 6b 20 64 69 73 74 | 61 6e 63 65 20 72 65 74 |eck dist|ance ret|
|00001800| 75 72 6e 65 64 20 66 72 | 6f 6d 20 70 61 74 68 66 |urned fr|om pathf|
|00001810| 69 6e 64 69 6e 67 0d 0a | 09 69 66 20 28 20 21 46 |inding..|.if ( !F|
|00001820| 72 69 65 6e 64 6c 79 46 | 6c 61 67 2e 62 48 6f 6d |riendlyF|lag.bHom|
|00001830| 65 20 29 0d 0a 09 7b 0d | 0a 09 09 2f 2f 20 69 66 |e )...{.|...// if|
|00001840| 20 6f 6e 65 2d 6f 6e 2d | 6f 6e 65 20 63 74 66 2c | one-on-|one ctf,|
|00001850| 20 74 68 65 6e 20 67 65 | 74 20 66 6c 61 67 20 62 | then ge|t flag b|
|00001860| 61 63 6b 0d 0a 09 09 69 | 66 20 28 20 54 65 61 6d |ack....i|f ( Team|
|00001870| 2e 53 69 7a 65 20 3d 3d | 20 31 20 29 0d 0a 09 09 |.Size ==| 1 )....|
|00001880| 7b 0d 0a 09 09 09 2f 2f | 20 6d 61 6b 65 20 73 75 |{.....//| make su|
|00001890| 72 65 20 68 65 61 6c 74 | 68 65 64 2f 61 72 6d 6f |re healt|hed/armo|
|000018a0| 72 65 64 2f 61 6d 6d 6f | 65 64 20 75 70 0d 0a 09 |red/ammo|ed up...|
|000018b0| 09 09 69 66 20 28 20 42 | 2e 4e 65 65 64 57 65 61 |..if ( B|.NeedWea|
|000018c0| 70 6f 6e 28 29 20 26 26 | 20 42 2e 46 69 6e 64 49 |pon() &&| B.FindI|
|000018d0| 6e 76 65 6e 74 6f 72 79 | 47 6f 61 6c 28 30 29 20 |nventory|Goal(0) |
|000018e0| 29 0d 0a 09 09 09 7b 0d | 0a 09 09 09 09 42 2e 53 |).....{.|.....B.S|
|000018f0| 65 74 41 74 74 72 61 63 | 74 69 6f 6e 53 74 61 74 |etAttrac|tionStat|
|00001900| 65 28 29 3b 0d 0a 09 09 | 09 09 72 65 74 75 72 6e |e();....|..return|
|00001910| 20 74 72 75 65 3b 0d 0a | 09 09 09 7d 0d 0a 0d 0a | true;..|...}....|
|00001920| 09 09 09 69 66 20 28 20 | 46 72 69 65 6e 64 6c 79 |...if ( |Friendly|
|00001930| 46 6c 61 67 2e 48 6f 6c | 64 65 72 20 3d 3d 20 4e |Flag.Hol|der == N|
|00001940| 6f 6e 65 20 29 0d 0a 09 | 09 09 7b 0d 0a 09 09 09 |one )...|..{.....|
|00001950| 09 69 66 20 28 20 47 6f | 50 69 63 6b 75 70 46 6c |.if ( Go|PickupFl|
|00001960| 61 67 28 42 29 20 29 0d | 0a 09 09 09 09 09 72 65 |ag(B) ).|......re|
|00001970| 74 75 72 6e 20 74 72 75 | 65 3b 0d 0a 09 09 09 09 |turn tru|e;......|
|00001980| 72 65 74 75 72 6e 20 66 | 61 6c 73 65 3b 0d 0a 09 |return f|alse;...|
|00001990| 09 09 7d 0d 0a 09 09 09 | 65 6c 73 65 0d 0a 09 09 |..}.....|else....|
|000019a0| 09 7b 0d 0a 09 09 09 09 | 69 66 20 28 20 28 42 2e |.{......|if ( (B.|
|000019b0| 45 6e 65 6d 79 20 21 3d | 20 4e 6f 6e 65 29 20 26 |Enemy !=| None) &|
|000019c0| 26 20 28 42 2e 45 6e 65 | 6d 79 2e 50 6c 61 79 65 |& (B.Ene|my.Playe|
|000019d0| 72 52 65 70 6c 69 63 61 | 74 69 6f 6e 49 6e 66 6f |rReplica|tionInfo|
|000019e0| 20 21 3d 20 4e 6f 6e 65 | 29 20 26 26 20 28 42 2e | != None|) && (B.|
|000019f0| 45 6e 65 6d 79 2e 50 6c | 61 79 65 72 52 65 70 6c |Enemy.Pl|ayerRepl|
|00001a00| 69 63 61 74 69 6f 6e 49 | 6e 66 6f 2e 48 61 73 46 |icationI|nfo.HasF|
|00001a10| 6c 61 67 20 21 3d 20 46 | 72 69 65 6e 64 6c 79 46 |lag != F|riendlyF|
|00001a20| 6c 61 67 29 20 29 0d 0a | 09 09 09 09 09 46 69 6e |lag) )..|.....Fin|
|00001a30| 64 4e 65 77 45 6e 65 6d | 79 46 6f 72 28 42 2c 28 |dNewEnem|yFor(B,(|
|00001a40| 42 2e 45 6e 65 6d 79 20 | 21 3d 20 4e 6f 6e 65 29 |B.Enemy |!= None)|
|00001a50| 20 26 26 20 42 2e 4c 69 | 6e 65 4f 66 53 69 67 68 | && B.Li|neOfSigh|
|00001a60| 74 54 6f 28 42 2e 45 6e | 65 6d 79 29 29 3b 0d 0a |tTo(B.En|emy));..|
|00001a70| 09 09 09 09 69 66 20 28 | 20 4c 65 76 65 6c 2e 54 |....if (| Level.T|
|00001a80| 69 6d 65 53 65 63 6f 6e | 64 73 20 2d 20 4c 61 73 |imeSecon|ds - Las|
|00001a90| 74 53 65 65 46 6c 61 67 | 43 61 72 72 69 65 72 20 |tSeeFlag|Carrier |
|00001aa0| 3e 20 36 20 29 0d 0a 09 | 09 09 09 09 4c 61 73 74 |> 6 )...|....Last|
|00001ab0| 53 65 65 46 6c 61 67 43 | 61 72 72 69 65 72 20 3d |SeeFlagC|arrier =|
|00001ac0| 20 4c 65 76 65 6c 2e 54 | 69 6d 65 53 65 63 6f 6e | Level.T|imeSecon|
|00001ad0| 64 73 3b 0d 0a 09 09 09 | 09 42 2e 47 6f 61 6c 53 |ds;.....|.B.GoalS|
|00001ae0| 74 72 69 6e 67 20 3d 20 | 22 41 74 74 61 63 6b 20 |tring = |"Attack |
|00001af0| 65 6e 65 6d 79 20 66 6c | 61 67 20 63 61 72 72 69 |enemy fl|ag carri|
|00001b00| 65 72 22 3b 0d 0a 09 09 | 09 09 69 66 20 28 20 42 |er";....|..if ( B|
|00001b10| 2e 49 73 53 6e 69 70 69 | 6e 67 28 29 20 29 0d 0a |.IsSnipi|ng() )..|
|00001b20| 09 09 09 09 09 72 65 74 | 75 72 6e 20 66 61 6c 73 |.....ret|urn fals|
|00001b30| 65 3b 0d 0a 09 09 09 09 | 42 2e 62 50 75 72 73 75 |e;......|B.bPursu|
|00001b40| 69 6e 67 46 6c 61 67 20 | 3d 20 74 72 75 65 3b 0d |ingFlag |= true;.|
|00001b50| 0a 09 09 09 09 72 65 74 | 75 72 6e 20 28 20 54 72 |.....ret|urn ( Tr|
|00001b60| 79 54 6f 49 6e 74 65 72 | 63 65 70 74 28 42 2c 46 |yToInter|cept(B,F|
|00001b70| 72 69 65 6e 64 6c 79 46 | 6c 61 67 2e 48 6f 6c 64 |riendlyF|lag.Hold|
|00001b80| 65 72 2c 45 6e 65 6d 79 | 46 6c 61 67 2e 48 6f 6d |er,Enemy|Flag.Hom|
|00001b90| 65 62 61 73 65 29 20 29 | 3b 0d 0a 09 09 09 7d 0d |ebase) )|;.....}.|
|00001ba0| 0a 09 09 7d 0d 0a 09 09 | 2f 2f 20 6f 74 68 65 72 |...}....|// other|
|00001bb0| 77 69 73 65 2c 20 6f 6e | 6c 79 20 67 65 74 20 69 |wise, on|ly get i|
|00001bc0| 66 20 63 6f 6e 76 65 6e | 69 65 6e 74 0d 0a 09 09 |f conven|ient....|
|00001bd0| 69 66 20 28 20 28 46 72 | 69 65 6e 64 6c 79 46 6c |if ( (Fr|iendlyFl|
|00001be0| 61 67 2e 48 6f 6c 64 65 | 72 20 3d 3d 20 4e 6f 6e |ag.Holde|r == Non|
|00001bf0| 65 29 20 26 26 20 42 2e | 4c 69 6e 65 4f 66 53 69 |e) && B.|LineOfSi|
|00001c00| 67 68 74 54 6f 28 46 72 | 69 65 6e 64 6c 79 46 6c |ghtTo(Fr|iendlyFl|
|00001c10| 61 67 2e 50 6f 73 69 74 | 69 6f 6e 28 29 29 0d 0a |ag.Posit|ion())..|
|00001c20| 09 09 09 26 26 20 28 56 | 53 69 7a 65 28 42 2e 50 |...&& (V|Size(B.P|
|00001c30| 61 77 6e 2e 4c 6f 63 61 | 74 69 6f 6e 20 2d 20 46 |awn.Loca|tion - F|
|00001c40| 72 69 65 6e 64 6c 79 46 | 6c 61 67 2e 4c 6f 63 61 |riendlyF|lag.Loca|
|00001c50| 74 69 6f 6e 29 20 3c 20 | 31 35 30 30 2e 66 29 0d |tion) < |1500.f).|
|00001c60| 0a 09 09 09 26 26 20 47 | 6f 50 69 63 6b 75 70 46 |....&& G|oPickupF|
|00001c70| 6c 61 67 28 42 29 20 29 | 0d 0a 09 09 09 72 65 74 |lag(B) )|.....ret|
|00001c80| 75 72 6e 20 74 72 75 65 | 3b 0d 0a 0d 0a 09 09 2f |urn true|;....../|
|00001c90| 2f 20 6f 74 68 65 72 77 | 69 73 65 2c 20 67 6f 20 |/ otherw|ise, go |
|00001ca0| 68 69 64 65 0d 0a 09 09 | 69 66 20 28 20 48 69 64 |hide....|if ( Hid|
|00001cb0| 65 50 61 74 68 20 21 3d | 20 4e 6f 6e 65 20 29 0d |ePath !=| None ).|
|00001cc0| 0a 09 09 7b 0d 0a 09 09 | 09 69 66 20 28 20 42 2e |...{....|.if ( B.|
|00001cd0| 50 61 77 6e 2e 52 65 61 | 63 68 65 64 44 65 73 74 |Pawn.Rea|chedDest|
|00001ce0| 69 6e 61 74 69 6f 6e 28 | 48 69 64 65 50 61 74 68 |ination(|HidePath|
|00001cf0| 29 20 29 0d 0a 09 09 09 | 7b 0d 0a 09 09 09 09 69 |) ).....|{......i|
|00001d00| 66 20 28 20 28 28 42 2e | 45 6e 65 6d 79 20 3d 3d |f ( ((B.|Enemy ==|
|00001d10| 20 4e 6f 6e 65 29 20 7c | 7c 20 28 4c 65 76 65 6c | None) ||| (Level|
|00001d20| 2e 54 69 6d 65 53 65 63 | 6f 6e 64 73 20 2d 20 42 |.TimeSec|onds - B|
|00001d30| 2e 4c 61 73 74 53 65 65 | 6e 54 69 6d 65 20 3e 20 |.LastSee|nTime > |
|00001d40| 37 29 29 20 26 26 20 28 | 46 52 61 6e 64 28 29 20 |7)) && (|FRand() |
|00001d50| 3c 20 30 2e 37 29 20 29 | 0d 0a 09 09 09 09 7b 0d |< 0.7) )|......{.|
|00001d60| 0a 09 09 09 09 09 48 69 | 64 65 50 61 74 68 20 3d |......Hi|dePath =|
|00001d70| 20 4e 6f 6e 65 3b 0d 0a | 09 09 09 09 09 69 66 20 | None;..|.....if |
|00001d80| 28 20 42 2e 45 6e 65 6d | 79 20 3d 3d 20 4e 6f 6e |( B.Enem|y == Non|
|00001d90| 65 20 29 0d 0a 09 09 09 | 09 09 09 42 2e 57 61 6e |e ).....|...B.Wan|
|00001da0| 64 65 72 4f 72 43 61 6d | 70 28 74 72 75 65 29 3b |derOrCam|p(true);|
|00001db0| 0d 0a 09 09 09 09 09 65 | 6c 73 65 0d 0a 09 09 09 |.......e|lse.....|
|00001dc0| 09 09 09 42 2e 44 6f 53 | 74 61 6b 65 4f 75 74 28 |...B.DoS|takeOut(|
|00001dd0| 29 3b 0d 0a 09 09 09 09 | 09 72 65 74 75 72 6e 20 |);......|.return |
|00001de0| 74 72 75 65 3b 0d 0a 09 | 09 09 09 7d 0d 0a 09 09 |true;...|...}....|
|00001df0| 09 7d 0d 0a 09 09 09 65 | 6c 73 65 20 69 66 20 28 |.}.....e|lse if (|
|00001e00| 20 42 2e 53 65 74 52 6f | 75 74 65 54 6f 47 6f 61 | B.SetRo|uteToGoa|
|00001e10| 6c 28 48 69 64 65 50 61 | 74 68 29 20 29 0d 0a 09 |l(HidePa|th) )...|
|00001e20| 09 09 09 72 65 74 75 72 | 6e 20 74 72 75 65 3b 0d |...retur|n true;.|
|00001e30| 0a 09 09 7d 0d 0a 09 7d | 0d 0a 09 48 69 64 65 50 |...}...}|...HideP|
|00001e40| 61 74 68 20 3d 20 4e 6f | 6e 65 3b 0d 0a 0d 0a 09 |ath = No|ne;.....|
|00001e50| 2f 2f 20 73 75 70 65 72 | 20 70 69 63 6b 75 70 73 |// super| pickups|
|00001e60| 20 69 66 20 6e 65 61 72 | 62 79 0d 0a 09 2f 2f 20 | if near|by...// |
|00001e70| 73 65 65 20 69 66 20 73 | 68 6f 75 6c 64 20 67 65 |see if s|hould ge|
|00001e80| 74 20 73 75 70 65 72 77 | 65 61 70 6f 6e 2f 20 70 |t superw|eapon/ p|
|00001e90| 69 63 6b 75 70 0d 0a 09 | 69 66 20 28 20 28 42 2e |ickup...|if ( (B.|
|00001ea0| 53 6b 69 6c 6c 20 3e 20 | 32 29 20 26 26 20 28 56 |Skill > |2) && (V|
|00001eb0| 65 68 69 63 6c 65 28 42 | 2e 50 61 77 6e 29 20 3d |ehicle(B|.Pawn) =|
|00001ec0| 3d 20 4e 6f 6e 65 29 20 | 29 0d 0a 09 7b 0d 0a 09 |= None) |)...{...|
|00001ed0| 09 69 66 20 28 20 28 21 | 46 72 69 65 6e 64 6c 79 |.if ( (!|Friendly|
|00001ee0| 46 6c 61 67 2e 62 48 6f | 6d 65 20 7c 7c 20 28 56 |Flag.bHo|me || (V|
|00001ef0| 53 69 7a 65 28 46 72 69 | 65 6e 64 6c 79 46 6c 61 |Size(Fri|endlyFla|
|00001f00| 67 2e 48 6f 6d 65 42 61 | 73 65 2e 4c 6f 63 61 74 |g.HomeBa|se.Locat|
|00001f10| 69 6f 6e 20 2d 20 42 2e | 50 61 77 6e 2e 4c 6f 63 |ion - B.|Pawn.Loc|
|00001f20| 61 74 69 6f 6e 29 20 3e | 20 32 30 30 30 29 29 0d |ation) >| 2000)).|
|00001f30| 0a 09 09 09 09 26 26 20 | 54 65 61 6d 2e 41 49 2e |.....&& |Team.AI.|
|00001f40| 53 75 70 65 72 50 69 63 | 6b 75 70 41 76 61 69 6c |SuperPic|kupAvail|
|00001f50| 61 62 6c 65 28 42 29 0d | 0a 09 09 09 09 26 26 20 |able(B).|.....&& |
|00001f60| 28 42 2e 50 61 77 6e 2e | 41 6e 63 68 6f 72 20 21 |(B.Pawn.|Anchor !|
|00001f70| 3d 20 4e 6f 6e 65 29 20 | 26 26 20 42 2e 50 61 77 |= None) |&& B.Paw|
|00001f80| 6e 2e 52 65 61 63 68 65 | 64 44 65 73 74 69 6e 61 |n.Reache|dDestina|
|00001f90| 74 69 6f 6e 28 42 2e 50 | 61 77 6e 2e 41 6e 63 68 |tion(B.P|awn.Anch|
|00001fa0| 6f 72 29 0d 0a 09 09 09 | 09 26 26 20 42 2e 46 69 |or).....|.&& B.Fi|
|00001fb0| 6e 64 53 75 70 65 72 50 | 69 63 6b 75 70 28 38 30 |ndSuperP|ickup(80|
|00001fc0| 30 29 20 29 0d 0a 09 09 | 7b 0d 0a 09 09 09 42 2e |0) )....|{.....B.|
|00001fd0| 47 6f 61 6c 53 74 72 69 | 6e 67 20 3d 20 22 47 65 |GoalStri|ng = "Ge|
|00001fe0| 74 20 73 75 70 65 72 20 | 70 69 63 6b 75 70 22 3b |t super |pickup";|
|00001ff0| 0d 0a 09 09 09 42 2e 53 | 65 74 41 74 74 72 61 63 |.....B.S|etAttrac|
|00002000| 74 69 6f 6e 53 74 61 74 | 65 28 29 3b 0d 0a 09 09 |tionStat|e();....|
|00002010| 09 72 65 74 75 72 6e 20 | 74 72 75 65 3b 0d 0a 09 |.return |true;...|
|00002020| 09 7d 0d 0a 09 7d 0d 0a | 0d 0a 09 69 66 20 28 20 |.}...}..|...if ( |
|00002030| 28 42 2e 45 6e 65 6d 79 | 20 21 3d 20 4e 6f 6e 65 |(B.Enemy| != None|
|00002040| 29 20 26 26 20 28 42 2e | 50 61 77 6e 2e 48 65 61 |) && (B.|Pawn.Hea|
|00002050| 6c 74 68 20 3c 20 36 30 | 20 29 29 0d 0a 09 09 42 |lth < 60| ))....B|
|00002060| 2e 53 65 6e 64 4d 65 73 | 73 61 67 65 28 4e 6f 6e |.SendMes|sage(Non|
|00002070| 65 2c 20 27 4f 54 48 45 | 52 27 2c 20 42 2e 47 65 |e, 'OTHE|R', B.Ge|
|00002080| 74 4d 65 73 73 61 67 65 | 49 6e 64 65 78 28 27 4e |tMessage|Index('N|
|00002090| 45 45 44 42 41 43 4b 55 | 50 27 29 2c 20 32 35 2c |EEDBACKU|P'), 25,|
|000020a0| 20 27 54 45 41 4d 27 29 | 3b 0d 0a 09 42 2e 47 6f | 'TEAM')|;...B.Go|
|000020b0| 61 6c 53 74 72 69 6e 67 | 20 3d 20 22 52 65 74 75 |alString| = "Retu|
|000020c0| 72 6e 20 74 6f 20 42 61 | 73 65 20 77 69 74 68 20 |rn to Ba|se with |
|000020d0| 65 6e 65 6d 79 20 66 6c | 61 67 21 22 3b 0d 0a 09 |enemy fl|ag!";...|
|000020e0| 69 66 20 28 20 21 46 69 | 6e 64 50 61 74 68 54 6f |if ( !Fi|ndPathTo|
|000020f0| 4f 62 6a 65 63 74 69 76 | 65 28 42 2c 46 72 69 65 |Objectiv|e(B,Frie|
|00002100| 6e 64 6c 79 46 6c 61 67 | 2e 48 6f 6d 65 42 61 73 |ndlyFlag|.HomeBas|
|00002110| 65 29 20 29 0d 0a 09 7b | 0d 0a 09 09 42 2e 47 6f |e) )...{|....B.Go|
|00002120| 61 6c 53 74 72 69 6e 67 | 20 3d 20 22 4e 6f 20 70 |alString| = "No p|
|00002130| 61 74 68 20 74 6f 20 68 | 6f 6d 65 20 62 61 73 65 |ath to h|ome base|
|00002140| 20 66 6f 72 20 66 6c 61 | 67 20 63 61 72 72 69 65 | for fla|g carrie|
|00002150| 72 22 3b 0d 0a 09 09 2f | 2f 20 46 49 58 4d 45 20 |r";..../|/ FIXME |
|00002160| 2d 20 73 75 69 63 69 64 | 65 20 61 66 74 65 72 20 |- suicid|e after |
|00002170| 61 20 77 68 69 6c 65 0d | 0a 09 09 72 65 74 75 72 |a while.|...retur|
|00002180| 6e 20 66 61 6c 73 65 3b | 0d 0a 09 7d 0d 0a 09 69 |n false;|...}...i|
|00002190| 66 20 28 20 42 2e 4d 6f | 76 65 54 61 72 67 65 74 |f ( B.Mo|veTarget|
|000021a0| 20 3d 3d 20 46 72 69 65 | 6e 64 6c 79 46 6c 61 67 | == Frie|ndlyFlag|
|000021b0| 2e 48 6f 6d 65 42 61 73 | 65 20 29 0d 0a 09 7b 0d |.HomeBas|e )...{.|
|000021c0| 0a 09 09 42 2e 47 6f 61 | 6c 53 74 72 69 6e 67 20 |...B.Goa|lString |
|000021d0| 3d 20 22 4e 65 61 72 20 | 6d 79 20 42 61 73 65 20 |= "Near |my Base |
|000021e0| 77 69 74 68 20 65 6e 65 | 6d 79 20 66 6c 61 67 21 |with ene|my flag!|
|000021f0| 22 3b 0d 0a 09 09 69 66 | 20 28 20 21 46 72 69 65 |";....if| ( !Frie|
|00002200| 6e 64 6c 79 46 6c 61 67 | 2e 62 48 6f 6d 65 20 29 |ndlyFlag|.bHome )|
|00002210| 0d 0a 09 09 7b 0d 0a 09 | 09 09 42 2e 53 65 6e 64 |....{...|..B.Send|
|00002220| 4d 65 73 73 61 67 65 28 | 4e 6f 6e 65 2c 20 27 4f |Message(|None, 'O|
|00002230| 54 48 45 52 27 2c 20 42 | 2e 47 65 74 4d 65 73 73 |THER', B|.GetMess|
|00002240| 61 67 65 49 6e 64 65 78 | 28 27 4e 45 45 44 4f 55 |ageIndex|('NEEDOU|
|00002250| 52 46 4c 41 47 27 29 2c | 20 32 35 2c 20 27 54 45 |RFLAG'),| 25, 'TE|
|00002260| 41 4d 27 29 3b 0d 0a 09 | 09 09 42 2e 47 6f 61 6c |AM');...|..B.Goal|
|00002270| 53 74 72 69 6e 67 20 3d | 20 22 4e 45 45 44 20 4f |String =| "NEED O|
|00002280| 55 52 20 46 4c 41 47 20 | 42 41 43 4b 21 22 3b 0d |UR FLAG |BACK!";.|
|00002290| 0a 09 09 09 69 66 20 28 | 20 42 2e 53 6b 69 6c 6c |....if (| B.Skill|
|000022a0| 20 3e 20 31 20 29 0d 0a | 09 09 09 09 48 69 64 65 | > 1 )..|....Hide|
|000022b0| 50 61 74 68 20 3d 20 46 | 69 6e 64 48 69 64 65 50 |Path = F|indHideP|
|000022c0| 61 74 68 46 6f 72 28 42 | 29 3b 0d 0a 09 09 09 69 |athFor(B|);.....i|
|000022d0| 66 20 28 20 28 48 69 64 | 65 50 61 74 68 20 21 3d |f ( (Hid|ePath !=|
|000022e0| 20 4e 6f 6e 65 29 20 26 | 26 20 42 2e 53 65 74 52 | None) &|& B.SetR|
|000022f0| 6f 75 74 65 54 6f 47 6f | 61 6c 28 48 69 64 65 50 |outeToGo|al(HideP|
|00002300| 61 74 68 29 20 29 0d 0a | 09 09 09 09 72 65 74 75 |ath) )..|....retu|
|00002310| 72 6e 20 74 72 75 65 3b | 0d 0a 09 09 09 72 65 74 |rn true;|.....ret|
|00002320| 75 72 6e 20 66 61 6c 73 | 65 3b 0d 0a 09 09 7d 0d |urn fals|e;....}.|
|00002330| 0a 09 09 69 66 20 28 20 | 56 53 69 7a 65 28 42 2e |...if ( |VSize(B.|
|00002340| 50 61 77 6e 2e 4c 6f 63 | 61 74 69 6f 6e 20 2d 20 |Pawn.Loc|ation - |
|00002350| 46 72 69 65 6e 64 6c 79 | 46 6c 61 67 2e 4c 6f 63 |Friendly|Flag.Loc|
|00002360| 61 74 69 6f 6e 29 20 3c | 20 46 72 69 65 6e 64 6c |ation) <| Friendl|
|00002370| 79 46 6c 61 67 2e 48 6f | 6d 65 42 61 73 65 2e 43 |yFlag.Ho|meBase.C|
|00002380| 6f 6c 6c 69 73 69 6f 6e | 52 61 64 69 75 73 20 29 |ollision|Radius )|
|00002390| 0d 0a 09 09 09 46 72 69 | 65 6e 64 6c 79 46 6c 61 |.....Fri|endlyFla|
|000023a0| 67 2e 54 6f 75 63 68 28 | 42 2e 50 61 77 6e 29 3b |g.Touch(|B.Pawn);|
|000023b0| 0d 0a 09 7d 0d 0a 09 72 | 65 74 75 72 6e 20 74 72 |...}...r|eturn tr|
|000023c0| 75 65 3b 0d 0a 7d 0d 0a | 0d 0a 66 75 6e 63 74 69 |ue;..}..|..functi|
|000023d0| 6f 6e 20 62 6f 6f 6c 20 | 4d 75 73 74 4b 65 65 70 |on bool |MustKeep|
|000023e0| 45 6e 65 6d 79 28 50 61 | 77 6e 20 45 29 0d 0a 7b |Enemy(Pa|wn E)..{|
|000023f0| 0d 0a 09 69 66 20 28 20 | 28 45 20 21 3d 20 4e 6f |...if ( |(E != No|
|00002400| 6e 65 29 20 26 26 20 28 | 45 2e 50 6c 61 79 65 72 |ne) && (|E.Player|
|00002410| 52 65 70 6c 69 63 61 74 | 69 6f 6e 49 6e 66 6f 20 |Replicat|ionInfo |
|00002420| 21 3d 20 4e 6f 6e 65 29 | 20 26 26 20 28 45 2e 50 |!= None)| && (E.P|
|00002430| 6c 61 79 65 72 52 65 70 | 6c 69 63 61 74 69 6f 6e |layerRep|lication|
|00002440| 49 6e 66 6f 2e 48 61 73 | 46 6c 61 67 20 3d 3d 20 |Info.Has|Flag == |
|00002450| 46 72 69 65 6e 64 6c 79 | 46 6c 61 67 29 20 26 26 |Friendly|Flag) &&|
|00002460| 20 28 45 2e 48 65 61 6c | 74 68 20 3e 20 30 29 20 | (E.Heal|th > 0) |
|00002470| 29 0d 0a 09 09 72 65 74 | 75 72 6e 20 74 72 75 65 |)....ret|urn true|
|00002480| 3b 0d 0a 09 72 65 74 75 | 72 6e 20 66 61 6c 73 65 |;...retu|rn false|
|00002490| 3b 0d 0a 7d 0d 0a 0d 0a | 66 75 6e 63 74 69 6f 6e |;..}....|function|
|000024a0| 20 62 6f 6f 6c 20 4e 65 | 61 72 45 6e 65 6d 79 42 | bool Ne|arEnemyB|
|000024b0| 61 73 65 28 42 6f 74 20 | 42 29 0d 0a 7b 0d 0a 09 |ase(Bot |B)..{...|
|000024c0| 69 66 20 28 20 28 42 2e | 50 61 77 6e 2e 52 65 67 |if ( (B.|Pawn.Reg|
|000024d0| 69 6f 6e 2e 5a 6f 6e 65 | 20 3d 3d 20 45 6e 65 6d |ion.Zone| == Enem|
|000024e0| 79 46 6c 61 67 2e 48 6f | 6d 65 42 61 73 65 2e 52 |yFlag.Ho|meBase.R|
|000024f0| 65 67 69 6f 6e 2e 5a 6f | 6e 65 29 0d 0a 09 09 26 |egion.Zo|ne)....&|
|00002500| 26 20 28 42 2e 50 61 77 | 6e 2e 52 65 67 69 6f 6e |& (B.Paw|n.Region|
|00002510| 2e 5a 6f 6e 65 20 21 3d | 20 46 72 69 65 6e 64 6c |.Zone !=| Friendl|
|00002520| 79 46 6c 61 67 2e 48 6f | 6d 65 42 61 73 65 2e 52 |yFlag.Ho|meBase.R|
|00002530| 65 67 69 6f 6e 2e 5a 6f | 6e 65 29 0d 0a 09 09 26 |egion.Zo|ne)....&|
|00002540| 26 20 28 46 72 69 65 6e | 64 6c 79 46 6c 61 67 2e |& (Frien|dlyFlag.|
|00002550| 62 48 6f 6d 65 20 7c 7c | 20 28 42 2e 50 61 77 6e |bHome ||| (B.Pawn|
|00002560| 2e 52 65 67 69 6f 6e 2e | 5a 6f 6e 65 20 21 3d 20 |.Region.|Zone != |
|00002570| 46 72 69 65 6e 64 6c 79 | 46 6c 61 67 2e 50 6f 73 |Friendly|Flag.Pos|
|00002580| 69 74 69 6f 6e 28 29 2e | 52 65 67 69 6f 6e 2e 5a |ition().|Region.Z|
|00002590| 6f 6e 65 29 29 20 29 0d | 0a 09 09 72 65 74 75 72 |one)) ).|...retur|
|000025a0| 6e 20 74 72 75 65 3b 0d | 0a 0d 0a 09 72 65 74 75 |n true;.|....retu|
|000025b0| 72 6e 20 45 6e 65 6d 79 | 46 6c 61 67 2e 48 6f 6d |rn Enemy|Flag.Hom|
|000025c0| 65 62 61 73 65 2e 42 6f | 74 4e 65 61 72 4f 62 6a |ebase.Bo|tNearObj|
|000025d0| 65 63 74 69 76 65 28 42 | 29 3b 0d 0a 7d 0d 0a 0d |ective(B|);..}...|
|000025e0| 0a 66 75 6e 63 74 69 6f | 6e 20 62 6f 6f 6c 20 4e |.functio|n bool N|
|000025f0| 65 61 72 48 6f 6d 65 42 | 61 73 65 28 42 6f 74 20 |earHomeB|ase(Bot |
|00002600| 42 29 0d 0a 7b 0d 0a 09 | 69 66 20 28 20 28 42 2e |B)..{...|if ( (B.|
|00002610| 50 61 77 6e 2e 52 65 67 | 69 6f 6e 2e 5a 6f 6e 65 |Pawn.Reg|ion.Zone|
|00002620| 20 3d 3d 20 46 72 69 65 | 6e 64 6c 79 46 6c 61 67 | == Frie|ndlyFlag|
|00002630| 2e 48 6f 6d 65 42 61 73 | 65 2e 52 65 67 69 6f 6e |.HomeBas|e.Region|
|00002640| 2e 5a 6f 6e 65 29 0d 0a | 09 09 26 26 20 28 42 2e |.Zone)..|..&& (B.|
|00002650| 50 61 77 6e 2e 52 65 67 | 69 6f 6e 2e 5a 6f 6e 65 |Pawn.Reg|ion.Zone|
|00002660| 20 21 3d 20 45 6e 65 6d | 79 46 6c 61 67 2e 48 6f | != Enem|yFlag.Ho|
|00002670| 6d 65 42 61 73 65 2e 52 | 65 67 69 6f 6e 2e 5a 6f |meBase.R|egion.Zo|
|00002680| 6e 65 29 20 29 0d 0a 09 | 09 72 65 74 75 72 6e 20 |ne) )...|.return |
|00002690| 74 72 75 65 3b 0d 0a 0d | 0a 09 69 66 20 28 20 21 |true;...|..if ( !|
|000026a0| 46 72 69 65 6e 64 6c 79 | 46 6c 61 67 2e 62 48 6f |Friendly|Flag.bHo|
|000026b0| 6d 65 0d 0a 09 09 26 26 | 20 28 42 2e 50 61 77 6e |me....&&| (B.Pawn|
|000026c0| 2e 52 65 67 69 6f 6e 2e | 5a 6f 6e 65 20 3d 3d 20 |.Region.|Zone == |
|000026d0| 46 72 69 65 6e 64 6c 79 | 46 6c 61 67 2e 50 6f 73 |Friendly|Flag.Pos|
|000026e0| 69 74 69 6f 6e 28 29 2e | 52 65 67 69 6f 6e 2e 5a |ition().|Region.Z|
|000026f0| 6f 6e 65 29 0d 0a 09 09 | 26 26 20 28 46 72 69 65 |one)....|&& (Frie|
|00002700| 6e 64 6c 79 46 6c 61 67 | 2e 48 6f 6d 65 42 61 73 |ndlyFlag|.HomeBas|
|00002710| 65 2e 52 65 67 69 6f 6e | 2e 5a 6f 6e 65 20 21 3d |e.Region|.Zone !=|
|00002720| 20 45 6e 65 6d 79 46 6c | 61 67 2e 48 6f 6d 65 42 | EnemyFl|ag.HomeB|
|00002730| 61 73 65 2e 52 65 67 69 | 6f 6e 2e 5a 6f 6e 65 29 |ase.Regi|on.Zone)|
|00002740| 20 29 0d 0a 09 09 72 65 | 74 75 72 6e 20 74 72 75 | )....re|turn tru|
|00002750| 65 3b 0d 0a 0d 0a 09 72 | 65 74 75 72 6e 20 46 72 |e;.....r|eturn Fr|
|00002760| 69 65 6e 64 6c 79 46 6c | 61 67 2e 48 6f 6d 65 62 |iendlyFl|ag.Homeb|
|00002770| 61 73 65 2e 42 6f 74 4e | 65 61 72 4f 62 6a 65 63 |ase.BotN|earObjec|
|00002780| 74 69 76 65 28 42 29 3b | 0d 0a 7d 0d 0a 0d 0a 66 |tive(B);|..}....f|
|00002790| 75 6e 63 74 69 6f 6e 20 | 62 6f 6f 6c 20 46 6c 61 |unction |bool Fla|
|000027a0| 67 4e 65 61 72 42 61 73 | 65 28 29 0d 0a 7b 0d 0a |gNearBas|e()..{..|
|000027b0| 09 69 66 20 28 20 4c 65 | 76 65 6c 2e 54 69 6d 65 |.if ( Le|vel.Time|
|000027c0| 53 65 63 6f 6e 64 73 20 | 2d 20 46 72 69 65 6e 64 |Seconds |- Friend|
|000027d0| 6c 79 46 6c 61 67 2e 54 | 61 6b 65 6e 54 69 6d 65 |lyFlag.T|akenTime|
|000027e0| 20 3c 20 46 72 69 65 6e | 64 6c 79 46 6c 61 67 2e | < Frien|dlyFlag.|
|000027f0| 48 6f 6d 65 42 61 73 65 | 2e 42 61 73 65 45 78 69 |HomeBase|.BaseExi|
|00002800| 74 54 69 6d 65 20 29 0d | 0a 09 09 72 65 74 75 72 |tTime ).|...retur|
|00002810| 6e 20 74 72 75 65 3b 0d | 0a 0d 0a 09 69 66 20 28 |n true;.|....if (|
|00002820| 20 28 46 72 69 65 6e 64 | 6c 79 46 6c 61 67 2e 50 | (Friend|lyFlag.P|
|00002830| 6f 73 69 74 69 6f 6e 28 | 29 2e 52 65 67 69 6f 6e |osition(|).Region|
|00002840| 2e 5a 6f 6e 65 20 3d 3d | 20 46 72 69 65 6e 64 6c |.Zone ==| Friendl|
|00002850| 79 46 6c 61 67 2e 48 6f | 6d 65 42 61 73 65 2e 52 |yFlag.Ho|meBase.R|
|00002860| 65 67 69 6f 6e 2e 5a 6f | 6e 65 29 0d 0a 09 09 26 |egion.Zo|ne)....&|
|00002870| 26 20 28 46 72 69 65 6e | 64 6c 79 46 6c 61 67 2e |& (Frien|dlyFlag.|
|00002880| 48 6f 6d 65 42 61 73 65 | 2e 52 65 67 69 6f 6e 2e |HomeBase|.Region.|
|00002890| 5a 6f 6e 65 20 21 3d 20 | 45 6e 65 6d 79 46 6c 61 |Zone != |EnemyFla|
|000028a0| 67 2e 48 6f 6d 65 42 61 | 73 65 2e 52 65 67 69 6f |g.HomeBa|se.Regio|
|000028b0| 6e 2e 5a 6f 6e 65 29 20 | 29 0d 0a 09 09 72 65 74 |n.Zone) |)....ret|
|000028c0| 75 72 6e 20 74 72 75 65 | 3b 0d 0a 0d 0a 09 72 65 |urn true|;.....re|
|000028d0| 74 75 72 6e 20 28 20 56 | 53 69 7a 65 28 46 72 69 |turn ( V|Size(Fri|
|000028e0| 65 6e 64 6c 79 46 6c 61 | 67 2e 50 6f 73 69 74 69 |endlyFla|g.Positi|
|000028f0| 6f 6e 28 29 2e 4c 6f 63 | 61 74 69 6f 6e 20 2d 20 |on().Loc|ation - |
|00002900| 46 72 69 65 6e 64 6c 79 | 46 6c 61 67 2e 48 6f 6d |Friendly|Flag.Hom|
|00002910| 65 42 61 73 65 2e 4c 6f | 63 61 74 69 6f 6e 29 20 |eBase.Lo|cation) |
|00002920| 3c 20 46 72 69 65 6e 64 | 6c 79 46 6c 61 67 2e 48 |< Friend|lyFlag.H|
|00002930| 6f 6d 65 42 61 73 65 2e | 42 61 73 65 52 61 64 69 |omeBase.|BaseRadi|
|00002940| 75 73 20 29 3b 0d 0a 7d | 0d 0a 0d 0a 66 75 6e 63 |us );..}|....func|
|00002950| 74 69 6f 6e 20 62 6f 6f | 6c 20 4f 76 65 72 72 69 |tion boo|l Overri|
|00002960| 64 65 46 6f 6c 6c 6f 77 | 50 6c 61 79 65 72 28 42 |deFollow|Player(B|
|00002970| 6f 74 20 42 29 0d 0a 7b | 0d 0a 09 69 66 20 28 20 |ot B)..{|...if ( |
|00002980| 21 45 6e 65 6d 79 46 6c | 61 67 2e 62 48 6f 6d 65 |!EnemyFl|ag.bHome|
|00002990| 20 29 0d 0a 09 09 72 65 | 74 75 72 6e 20 66 61 6c | )....re|turn fal|
|000029a0| 73 65 3b 0d 0a 09 09 0d | 0a 09 69 66 20 28 20 45 |se;.....|..if ( E|
|000029b0| 6e 65 6d 79 46 6c 61 67 | 2e 48 6f 6d 65 42 61 73 |nemyFlag|.HomeBas|
|000029c0| 65 2e 42 6f 74 4e 65 61 | 72 4f 62 6a 65 63 74 69 |e.BotNea|rObjecti|
|000029d0| 76 65 28 42 29 20 29 0d | 0a 09 09 72 65 74 75 72 |ve(B) ).|...retur|
|000029e0| 6e 20 45 6e 65 6d 79 46 | 6c 61 67 2e 48 6f 6d 65 |n EnemyF|lag.Home|
|000029f0| 42 61 73 65 2e 54 65 6c | 6c 42 6f 74 48 6f 77 54 |Base.Tel|lBotHowT|
|00002a00| 6f 44 69 73 61 62 6c 65 | 28 42 29 3b 0d 0a 09 72 |oDisable|(B);...r|
|00002a10| 65 74 75 72 6e 20 66 61 | 6c 73 65 3b 0d 0a 7d 0d |eturn fa|lse;..}.|
|00002a20| 0a 0d 0a 66 75 6e 63 74 | 69 6f 6e 20 62 6f 6f 6c |...funct|ion bool|
|00002a30| 20 43 68 65 63 6b 53 71 | 75 61 64 4f 62 6a 65 63 | CheckSq|uadObjec|
|00002a40| 74 69 76 65 73 28 42 6f | 74 20 42 29 0d 0a 7b 0d |tives(Bo|t B)..{.|
|00002a50| 0a 09 6c 6f 63 61 6c 20 | 62 6f 6f 6c 20 62 53 65 |..local |bool bSe|
|00002a60| 65 46 6c 61 67 3b 0d 0a | 09 6c 6f 63 61 6c 20 61 |eFlag;..|.local a|
|00002a70| 63 74 6f 72 20 46 6c 61 | 67 43 61 72 72 69 65 72 |ctor Fla|gCarrier|
|00002a80| 54 61 72 67 65 74 3b 0d | 0a 09 6c 6f 63 61 6c 20 |Target;.|..local |
|00002a90| 63 6f 6e 74 72 6f 6c 6c | 65 72 20 46 6c 61 67 43 |controll|er FlagC|
|00002aa0| 61 72 72 69 65 72 3b 0d | 0a 0d 0a 09 69 66 20 28 |arrier;.|....if (|
|00002ab0| 20 42 2e 50 6c 61 79 65 | 72 52 65 70 6c 69 63 61 | B.Playe|rReplica|
|00002ac0| 74 69 6f 6e 49 6e 66 6f | 2e 48 61 73 46 6c 61 67 |tionInfo|.HasFlag|
|00002ad0| 20 3d 3d 20 45 6e 65 6d | 79 46 6c 61 67 20 20 29 | == Enem|yFlag )|
|00002ae0| 0d 0a 09 09 72 65 74 75 | 72 6e 20 4f 72 64 65 72 |....retu|rn Order|
|00002af0| 73 46 6f 72 46 6c 61 67 | 43 61 72 72 69 65 72 28 |sForFlag|Carrier(|
|00002b00| 42 29 3b 0d 0a 0d 0a 09 | 41 64 64 54 72 61 6e 73 |B);.....|AddTrans|
|00002b10| 69 65 6e 74 43 6f 73 74 | 73 28 42 2c 31 29 3b 0d |ientCost|s(B,1);.|
|00002b20| 0a 09 69 66 20 28 20 21 | 46 72 69 65 6e 64 6c 79 |..if ( !|Friendly|
|00002b30| 46 6c 61 67 2e 62 48 6f | 6d 65 20 20 29 0d 0a 09 |Flag.bHo|me )...|
|00002b40| 7b 0d 0a 09 09 62 53 65 | 65 46 6c 61 67 20 3d 20 |{....bSe|eFlag = |
|00002b50| 42 2e 4c 69 6e 65 4f 66 | 53 69 67 68 74 54 6f 28 |B.LineOf|SightTo(|
|00002b60| 46 72 69 65 6e 64 6c 79 | 46 6c 61 67 2e 50 6f 73 |Friendly|Flag.Pos|
|00002b70| 69 74 69 6f 6e 28 29 29 | 3b 0d 0a 09 09 69 66 20 |ition())|;....if |
|00002b80| 28 20 54 65 61 6d 2e 53 | 69 7a 65 20 3d 3d 20 31 |( Team.S|ize == 1|
|00002b90| 20 29 0d 0a 09 09 7b 0d | 0a 09 09 09 69 66 20 28 | )....{.|....if (|
|00002ba0| 20 42 2e 4e 65 65 64 57 | 65 61 70 6f 6e 28 29 20 | B.NeedW|eapon() |
|00002bb0| 26 26 20 42 2e 46 69 6e | 64 49 6e 76 65 6e 74 6f |&& B.Fin|dInvento|
|00002bc0| 72 79 47 6f 61 6c 28 30 | 29 20 29 0d 0a 09 09 09 |ryGoal(0|) ).....|
|00002bd0| 7b 0d 0a 09 09 09 09 42 | 2e 53 65 74 41 74 74 72 |{......B|.SetAttr|
|00002be0| 61 63 74 69 6f 6e 53 74 | 61 74 65 28 29 3b 0d 0a |actionSt|ate();..|
|00002bf0| 09 09 09 09 72 65 74 75 | 72 6e 20 74 72 75 65 3b |....retu|rn true;|
|00002c00| 0d 0a 09 09 09 7d 0d 0a | 0d 0a 09 09 09 2f 2f 20 |.....}..|.....// |
|00002c10| 6b 65 65 70 20 61 74 74 | 61 63 6b 69 6e 67 20 69 |keep att|acking i|
|00002c20| 66 20 31 2d 30 6e 2d 31 | 0d 0a 09 09 09 69 66 20 |f 1-0n-1|.....if |
|00002c30| 28 20 28 46 72 69 65 6e | 64 6c 79 46 6c 61 67 2e |( (Frien|dlyFlag.|
|00002c40| 48 6f 6c 64 65 72 20 21 | 3d 20 4e 6f 6e 65 29 20 |Holder !|= None) |
|00002c50| 7c 7c 20 28 56 53 69 7a | 65 28 42 2e 50 61 77 6e ||| (VSiz|e(B.Pawn|
|00002c60| 2e 4c 6f 63 61 74 69 6f | 6e 20 2d 20 46 72 69 65 |.Locatio|n - Frie|
|00002c70| 6e 64 6c 79 46 6c 61 67 | 2e 50 6f 73 69 74 69 6f |ndlyFlag|.Positio|
|00002c80| 6e 28 29 2e 4c 6f 63 61 | 74 69 6f 6e 29 20 3e 20 |n().Loca|tion) > |
|00002c90| 56 53 69 7a 65 28 42 2e | 50 61 77 6e 2e 4c 6f 63 |VSize(B.|Pawn.Loc|
|00002ca0| 61 74 69 6f 6e 20 2d 20 | 45 6e 65 6d 79 46 6c 61 |ation - |EnemyFla|
|00002cb0| 67 2e 50 6f 73 69 74 69 | 6f 6e 28 29 2e 4c 6f 63 |g.Positi|on().Loc|
|00002cc0| 61 74 69 6f 6e 29 29 20 | 29 0d 0a 09 09 09 09 72 |ation)) |)......r|
|00002cd0| 65 74 75 72 6e 20 46 69 | 6e 64 50 61 74 68 54 6f |eturn Fi|ndPathTo|
|00002ce0| 4f 62 6a 65 63 74 69 76 | 65 28 42 2c 45 6e 65 6d |Objectiv|e(B,Enem|
|00002cf0| 79 46 6c 61 67 2e 50 6f | 73 69 74 69 6f 6e 28 29 |yFlag.Po|sition()|
|00002d00| 29 3b 0d 0a 09 09 7d 0d | 0a 09 09 69 66 20 28 20 |);....}.|...if ( |
|00002d10| 62 53 65 65 46 6c 61 67 | 20 29 0d 0a 09 09 7b 0d |bSeeFlag| )....{.|
|00002d20| 0a 09 09 09 69 66 20 28 | 20 46 72 69 65 6e 64 6c |....if (| Friendl|
|00002d30| 79 46 6c 61 67 2e 48 6f | 6c 64 65 72 20 3d 3d 20 |yFlag.Ho|lder == |
|00002d40| 4e 6f 6e 65 20 29 0d 0a | 09 09 09 7b 0d 0a 09 09 |None )..|...{....|
|00002d50| 09 09 69 66 20 28 20 47 | 6f 50 69 63 6b 75 70 46 |..if ( G|oPickupF|
|00002d60| 6c 61 67 28 42 29 20 29 | 0d 0a 09 09 09 09 09 72 |lag(B) )|.......r|
|00002d70| 65 74 75 72 6e 20 74 72 | 75 65 3b 0d 0a 09 09 09 |eturn tr|ue;.....|
|00002d80| 7d 0d 0a 09 09 09 65 6c | 73 65 0d 0a 09 09 09 7b |}.....el|se.....{|
|00002d90| 0d 0a 09 09 09 09 69 66 | 20 28 20 28 42 2e 45 6e |......if| ( (B.En|
|00002da0| 65 6d 79 20 3d 3d 20 4e | 6f 6e 65 29 20 7c 7c 20 |emy == N|one) || |
|00002db0| 28 28 42 2e 45 6e 65 6d | 79 2e 50 6c 61 79 65 72 |((B.Enem|y.Player|
|00002dc0| 52 65 70 6c 69 63 61 74 | 69 6f 6e 49 6e 66 6f 20 |Replicat|ionInfo |
|00002dd0| 21 3d 20 4e 6f 6e 65 29 | 20 26 26 20 28 42 2e 45 |!= None)| && (B.E|
|00002de0| 6e 65 6d 79 2e 50 6c 61 | 79 65 72 52 65 70 6c 69 |nemy.Pla|yerRepli|
|00002df0| 63 61 74 69 6f 6e 49 6e | 66 6f 2e 48 61 73 46 6c |cationIn|fo.HasFl|
|00002e00| 61 67 20 21 3d 20 46 72 | 69 65 6e 64 6c 79 46 6c |ag != Fr|iendlyFl|
|00002e10| 61 67 29 29 20 29 0d 0a | 09 09 09 09 09 46 69 6e |ag)) )..|.....Fin|
|00002e20| 64 4e 65 77 45 6e 65 6d | 79 46 6f 72 28 42 2c 28 |dNewEnem|yFor(B,(|
|00002e30| 42 2e 45 6e 65 6d 79 20 | 21 3d 20 4e 6f 6e 65 29 |B.Enemy |!= None)|
|00002e40| 20 26 26 20 42 2e 4c 69 | 6e 65 4f 66 53 69 67 68 | && B.Li|neOfSigh|
|00002e50| 74 54 6f 28 42 2e 45 6e | 65 6d 79 29 29 3b 0d 0a |tTo(B.En|emy));..|
|00002e60| 09 09 09 09 69 66 20 28 | 20 4c 65 76 65 6c 2e 54 |....if (| Level.T|
|00002e70| 69 6d 65 53 65 63 6f 6e | 64 73 20 2d 20 4c 61 73 |imeSecon|ds - Las|
|00002e80| 74 53 65 65 46 6c 61 67 | 43 61 72 72 69 65 72 20 |tSeeFlag|Carrier |
|00002e90| 3e 20 36 20 29 0d 0a 09 | 09 09 09 7b 0d 0a 09 09 |> 6 )...|...{....|
|00002ea0| 09 09 09 4c 61 73 74 53 | 65 65 46 6c 61 67 43 61 |...LastS|eeFlagCa|
|00002eb0| 72 72 69 65 72 20 3d 20 | 4c 65 76 65 6c 2e 54 69 |rrier = |Level.Ti|
|00002ec0| 6d 65 53 65 63 6f 6e 64 | 73 3b 0d 0a 09 09 09 09 |meSecond|s;......|
|00002ed0| 09 42 2e 53 65 6e 64 4d | 65 73 73 61 67 65 28 4e |.B.SendM|essage(N|
|00002ee0| 6f 6e 65 2c 20 27 4f 54 | 48 45 52 27 2c 20 42 2e |one, 'OT|HER', B.|
|00002ef0| 47 65 74 4d 65 73 73 61 | 67 65 49 6e 64 65 78 28 |GetMessa|geIndex(|
|00002f00| 27 45 4e 45 4d 59 46 4c | 41 47 43 41 52 52 49 45 |'ENEMYFL|AGCARRIE|
|00002f10| 52 48 45 52 45 27 29 2c | 20 31 30 2c 20 27 54 45 |RHERE'),| 10, 'TE|
|00002f20| 41 4d 27 29 3b 0d 0a 09 | 09 09 09 7d 0d 0a 09 09 |AM');...|...}....|
|00002f30| 09 09 42 2e 47 6f 61 6c | 53 74 72 69 6e 67 20 3d |..B.Goal|String =|
|00002f40| 20 22 41 74 74 61 63 6b | 20 65 6e 65 6d 79 20 66 | "Attack| enemy f|
|00002f50| 6c 61 67 20 63 61 72 72 | 69 65 72 22 3b 0d 0a 09 |lag carr|ier";...|
|00002f60| 09 09 09 69 66 20 28 20 | 42 2e 49 73 53 6e 69 70 |...if ( |B.IsSnip|
|00002f70| 69 6e 67 28 29 20 29 0d | 0a 09 09 09 09 09 72 65 |ing() ).|......re|
|00002f80| 74 75 72 6e 20 66 61 6c | 73 65 3b 0d 0a 09 09 09 |turn fal|se;.....|
|00002f90| 09 42 2e 62 50 75 72 73 | 75 69 6e 67 46 6c 61 67 |.B.bPurs|uingFlag|
|00002fa0| 20 3d 20 74 72 75 65 3b | 0d 0a 09 09 09 09 72 65 | = true;|......re|
|00002fb0| 74 75 72 6e 20 28 20 54 | 72 79 54 6f 49 6e 74 65 |turn ( T|ryToInte|
|00002fc0| 72 63 65 70 74 28 42 2c | 46 72 69 65 6e 64 6c 79 |rcept(B,|Friendly|
|00002fd0| 46 6c 61 67 2e 48 6f 6c | 64 65 72 2c 45 6e 65 6d |Flag.Hol|der,Enem|
|00002fe0| 79 46 6c 61 67 2e 48 6f | 6d 65 62 61 73 65 29 20 |yFlag.Ho|mebase) |
|00002ff0| 29 3b 0d 0a 09 09 09 7d | 0d 0a 09 09 7d 0d 0a 0d |);.....}|....}...|
|00003000| 0a 09 09 69 66 20 28 20 | 47 65 74 4f 72 64 65 72 |...if ( |GetOrder|
|00003010| 73 28 29 20 3d 3d 20 27 | 41 74 74 61 63 6b 27 20 |s() == '|Attack' |
|00003020| 29 0d 0a 09 09 7b 0d 0a | 09 09 09 2f 2f 20 62 72 |)....{..|...// br|
|00003030| 65 61 6b 20 6f 66 66 20 | 61 74 74 61 63 6b 20 6f |eak off |attack o|
|00003040| 6e 6c 79 20 69 66 20 6e | 65 65 64 65 64 0d 0a 09 |nly if n|eeded...|
|00003050| 09 09 69 66 20 28 20 42 | 2e 62 50 75 72 73 75 69 |..if ( B|.bPursui|
|00003060| 6e 67 46 6c 61 67 20 7c | 7c 20 62 53 65 65 46 6c |ngFlag ||| bSeeFl|
|00003070| 61 67 20 7c 7c 20 28 42 | 2e 4c 61 73 74 52 65 73 |ag || (B|.LastRes|
|00003080| 70 61 77 6e 54 69 6d 65 | 20 3e 20 46 72 69 65 6e |pawnTime| > Frien|
|00003090| 64 6c 79 46 6c 61 67 2e | 54 61 6b 65 6e 54 69 6d |dlyFlag.|TakenTim|
|000030a0| 65 29 20 7c 7c 20 4e 65 | 61 72 48 6f 6d 65 42 61 |e) || Ne|arHomeBa|
|000030b0| 73 65 28 42 29 0d 0a 09 | 09 09 09 7c 7c 20 28 28 |se(B)...|...|| ((|
|000030c0| 4c 65 76 65 6c 2e 54 69 | 6d 65 53 65 63 6f 6e 64 |Level.Ti|meSecond|
|000030d0| 73 20 2d 20 46 72 69 65 | 6e 64 6c 79 46 6c 61 67 |s - Frie|ndlyFlag|
|000030e0| 2e 54 61 6b 65 6e 54 69 | 6d 65 20 3e 20 46 72 69 |.TakenTi|me > Fri|
|000030f0| 65 6e 64 6c 79 46 6c 61 | 67 2e 48 6f 6d 65 42 61 |endlyFla|g.HomeBa|
|00003100| 73 65 2e 42 61 73 65 45 | 78 69 74 54 69 6d 65 29 |se.BaseE|xitTime)|
|00003110| 20 26 26 20 21 4e 65 61 | 72 45 6e 65 6d 79 42 61 | && !Nea|rEnemyBa|
|00003120| 73 65 28 42 29 29 20 29 | 0d 0a 09 09 09 7b 0d 0a |se(B)) )|.....{..|
|00003130| 09 09 09 09 42 2e 62 50 | 75 72 73 75 69 6e 67 46 |....B.bP|ursuingF|
|00003140| 6c 61 67 20 3d 20 74 72 | 75 65 3b 0d 0a 09 09 09 |lag = tr|ue;.....|
|00003150| 09 42 2e 47 6f 61 6c 53 | 74 72 69 6e 67 20 3d 20 |.B.GoalS|tring = |
|00003160| 22 47 6f 20 61 66 74 65 | 72 20 65 6e 65 6d 79 20 |"Go afte|r enemy |
|00003170| 68 6f 6c 64 69 6e 67 20 | 66 6c 61 67 20 72 61 74 |holding |flag rat|
|00003180| 68 65 72 20 74 68 61 6e | 20 61 74 74 61 63 6b 69 |her than| attacki|
|00003190| 6e 67 22 3b 0d 0a 09 09 | 09 09 69 66 20 28 20 46 |ng";....|..if ( F|
|000031a0| 72 69 65 6e 64 6c 79 46 | 6c 61 67 2e 48 6f 6c 64 |riendlyF|lag.Hold|
|000031b0| 65 72 20 21 3d 20 4e 6f | 6e 65 20 29 0d 0a 09 09 |er != No|ne )....|
|000031c0| 09 09 09 72 65 74 75 72 | 6e 20 54 72 79 54 6f 49 |...retur|n TryToI|
|000031d0| 6e 74 65 72 63 65 70 74 | 28 42 2c 46 72 69 65 6e |ntercept|(B,Frien|
|000031e0| 64 6c 79 46 6c 61 67 2e | 48 6f 6c 64 65 72 2c 45 |dlyFlag.|Holder,E|
|000031f0| 6e 65 6d 79 46 6c 61 67 | 2e 48 6f 6d 65 62 61 73 |nemyFlag|.Homebas|
|00003200| 65 29 3b 0d 0a 09 09 09 | 09 65 6c 73 65 20 69 66 |e);.....|.else if|
|00003210| 20 28 20 47 6f 50 69 63 | 6b 75 70 46 6c 61 67 28 | ( GoPic|kupFlag(|
|00003220| 42 29 20 29 0d 0a 09 09 | 09 09 09 72 65 74 75 72 |B) )....|...retur|
|00003230| 6e 20 74 72 75 65 3b 0d | 0a 0d 0a 09 09 09 7d 0d |n true;.|......}.|
|00003240| 0a 09 09 09 65 6c 73 65 | 20 69 66 20 28 20 42 2e |....else| if ( B.|
|00003250| 62 52 65 61 63 68 65 64 | 47 61 74 68 65 72 50 6f |bReached|GatherPo|
|00003260| 69 6e 74 20 29 0d 0a 09 | 09 09 09 42 2e 47 61 74 |int )...|...B.Gat|
|00003270| 68 65 72 54 69 6d 65 20 | 3d 20 4c 65 76 65 6c 2e |herTime |= Level.|
|00003280| 54 69 6d 65 53 65 63 6f | 6e 64 73 20 2d 20 31 30 |TimeSeco|nds - 10|
|00003290| 3b 0d 0a 0d 0a 09 09 7d | 0d 0a 09 09 65 6c 73 65 |;......}|....else|
|000032a0| 20 69 66 20 28 20 28 50 | 6c 61 79 65 72 43 6f 6e | if ( (P|layerCon|
|000032b0| 74 72 6f 6c 6c 65 72 28 | 53 71 75 61 64 4c 65 61 |troller(|SquadLea|
|000032c0| 64 65 72 29 20 3d 3d 20 | 4e 6f 6e 65 29 20 26 26 |der) == |None) &&|
|000032d0| 20 21 42 2e 49 73 53 6e | 69 70 69 6e 67 28 29 0d | !B.IsSn|iping().|
|000032e0| 0a 09 09 09 26 26 20 28 | 28 43 75 72 72 65 6e 74 |....&& (|(Current|
|000032f0| 4f 72 64 65 72 73 20 21 | 3d 20 27 44 65 66 65 6e |Orders !|= 'Defen|
|00003300| 64 27 29 20 7c 7c 20 62 | 53 65 65 46 6c 61 67 20 |d') || b|SeeFlag |
|00003310| 7c 7c 20 28 42 2e 62 50 | 75 72 73 75 69 6e 67 46 ||| (B.bP|ursuingF|
|00003320| 6c 61 67 20 26 26 20 46 | 6c 61 67 4e 65 61 72 42 |lag && F|lagNearB|
|00003330| 61 73 65 28 29 29 29 20 | 29 0d 0a 09 09 7b 0d 0a |ase())) |)....{..|
|00003340| 09 09 09 2f 2f 20 46 49 | 58 4d 45 20 2d 20 74 72 |...// FI|XME - tr|
|00003350| 79 20 74 6f 20 6c 65 61 | 76 65 20 6f 6e 65 20 64 |y to lea|ve one d|
|00003360| 65 66 65 6e 64 65 72 20 | 61 74 20 62 61 73 65 0d |efender |at base.|
|00003370| 0a 09 09 09 42 2e 62 50 | 75 72 73 75 69 6e 67 46 |....B.bP|ursuingF|
|00003380| 6c 61 67 20 3d 20 74 72 | 75 65 3b 0d 0a 09 09 09 |lag = tr|ue;.....|
|00003390| 42 2e 47 6f 61 6c 53 74 | 72 69 6e 67 20 3d 20 22 |B.GoalSt|ring = "|
|000033a0| 47 6f 20 66 69 6e 64 20 | 6d 79 20 66 6c 61 67 22 |Go find |my flag"|
|000033b0| 3b 0d 0a 09 09 09 69 66 | 20 28 20 46 72 69 65 6e |;.....if| ( Frien|
|000033c0| 64 6c 79 46 6c 61 67 2e | 48 6f 6c 64 65 72 20 21 |dlyFlag.|Holder !|
|000033d0| 3d 20 4e 6f 6e 65 20 29 | 0d 0a 09 09 09 09 72 65 |= None )|......re|
|000033e0| 74 75 72 6e 20 54 72 79 | 54 6f 49 6e 74 65 72 63 |turn Try|ToInterc|
|000033f0| 65 70 74 28 42 2c 46 72 | 69 65 6e 64 6c 79 46 6c |ept(B,Fr|iendlyFl|
|00003400| 61 67 2e 48 6f 6c 64 65 | 72 2c 45 6e 65 6d 79 46 |ag.Holde|r,EnemyF|
|00003410| 6c 61 67 2e 48 6f 6d 65 | 62 61 73 65 29 3b 0d 0a |lag.Home|base);..|
|00003420| 09 09 09 65 6c 73 65 20 | 69 66 20 28 20 47 6f 50 |...else |if ( GoP|
|00003430| 69 63 6b 75 70 46 6c 61 | 67 28 42 29 20 29 0d 0a |ickupFla|g(B) )..|
|00003440| 09 09 09 09 72 65 74 75 | 72 6e 20 74 72 75 65 3b |....retu|rn true;|
|00003450| 0d 0a 09 09 7d 0d 0a 09 | 7d 0d 0a 09 42 2e 62 50 |....}...|}...B.bP|
|00003460| 75 72 73 75 69 6e 67 46 | 6c 61 67 20 3d 20 66 61 |ursuingF|lag = fa|
|00003470| 6c 73 65 3b 0d 0a 0d 0a | 09 69 66 20 28 20 28 53 |lse;....|.if ( (S|
|00003480| 71 75 61 64 4f 62 6a 65 | 63 74 69 76 65 20 3d 3d |quadObje|ctive ==|
|00003490| 20 45 6e 65 6d 79 46 6c | 61 67 2e 48 6f 6d 65 62 | EnemyFl|ag.Homeb|
|000034a0| 61 73 65 29 20 26 26 20 | 28 42 2e 45 6e 65 6d 79 |ase) && |(B.Enemy|
|000034b0| 20 21 3d 20 4e 6f 6e 65 | 29 20 26 26 20 46 72 69 | != None|) && Fri|
|000034c0| 65 6e 64 6c 79 46 6c 61 | 67 2e 48 6f 6d 65 62 61 |endlyFla|g.Homeba|
|000034d0| 73 65 2e 42 6f 74 4e 65 | 61 72 4f 62 6a 65 63 74 |se.BotNe|arObject|
|000034e0| 69 76 65 28 42 29 0d 0a | 09 09 26 26 20 28 4c 65 |ive(B)..|..&& (Le|
|000034f0| 76 65 6c 2e 54 69 6d 65 | 53 65 63 6f 6e 64 73 20 |vel.Time|Seconds |
|00003500| 2d 20 42 2e 4c 61 73 74 | 53 65 65 6e 54 69 6d 65 |- B.Last|SeenTime|
|00003510| 20 3c 20 33 29 20 29 0d | 0a 09 7b 0d 0a 09 09 69 | < 3) ).|..{....i|
|00003520| 66 20 28 20 21 45 6e 65 | 6d 79 46 6c 61 67 2e 62 |f ( !Ene|myFlag.b|
|00003530| 48 6f 6d 65 20 26 26 20 | 28 45 6e 65 6d 79 46 6c |Home && |(EnemyFl|
|00003540| 61 67 2e 48 6f 6c 64 65 | 72 20 3d 3d 20 4e 6f 6e |ag.Holde|r == Non|
|00003550| 65 20 29 20 26 26 20 42 | 2e 4c 69 6e 65 4f 66 53 |e ) && B|.LineOfS|
|00003560| 69 67 68 74 54 6f 28 45 | 6e 65 6d 79 46 6c 61 67 |ightTo(E|nemyFlag|
|00003570| 2e 50 6f 73 69 74 69 6f | 6e 28 29 29 20 29 0d 0a |.Positio|n()) )..|
|00003580| 09 09 09 72 65 74 75 72 | 6e 20 46 69 6e 64 50 61 |...retur|n FindPa|
|00003590| 74 68 54 6f 4f 62 6a 65 | 63 74 69 76 65 28 42 2c |thToObje|ctive(B,|
|000035a0| 45 6e 65 6d 79 46 6c 61 | 67 2e 50 6f 73 69 74 69 |EnemyFla|g.Positi|
|000035b0| 6f 6e 28 29 29 3b 0d 0a | 0d 0a 09 09 42 2e 53 65 |on());..|....B.Se|
|000035c0| 6e 64 4d 65 73 73 61 67 | 65 28 4e 6f 6e 65 2c 20 |ndMessag|e(None, |
|000035d0| 27 4f 54 48 45 52 27 2c | 20 42 2e 47 65 74 4d 65 |'OTHER',| B.GetMe|
|000035e0| 73 73 61 67 65 49 6e 64 | 65 78 28 27 49 4e 43 4f |ssageInd|ex('INCO|
|000035f0| 4d 49 4e 47 27 29 2c 20 | 31 35 2c 20 27 54 45 41 |MING'), |15, 'TEA|
|00003600| 4d 27 29 3b 0d 0a 09 09 | 42 2e 47 6f 61 6c 53 74 |M');....|B.GoalSt|
|00003610| 72 69 6e 67 20 3d 20 22 | 49 6e 74 65 72 63 65 70 |ring = "|Intercep|
|00003620| 74 20 69 6e 63 6f 6d 69 | 6e 67 20 65 6e 65 6d 79 |t incomi|ng enemy|
|00003630| 21 22 3b 0d 0a 09 09 72 | 65 74 75 72 6e 20 66 61 |!";....r|eturn fa|
|00003640| 6c 73 65 3b 0d 0a 09 7d | 0d 0a 0d 0a 09 69 66 20 |lse;...}|.....if |
|00003650| 28 20 45 6e 65 6d 79 46 | 6c 61 67 2e 48 6f 6c 64 |( EnemyF|lag.Hold|
|00003660| 65 72 20 3d 3d 20 4e 6f | 6e 65 20 29 0d 0a 09 7b |er == No|ne )...{|
|00003670| 0d 0a 09 09 69 66 20 28 | 20 21 45 6e 65 6d 79 46 |....if (| !EnemyF|
|00003680| 6c 61 67 2e 62 48 6f 6d | 65 20 7c 7c 20 45 6e 65 |lag.bHom|e || Ene|
|00003690| 6d 79 46 6c 61 67 2e 48 | 6f 6d 65 62 61 73 65 2e |myFlag.H|omebase.|
|000036a0| 42 6f 74 4e 65 61 72 4f | 62 6a 65 63 74 69 76 65 |BotNearO|bjective|
|000036b0| 28 42 29 20 29 0d 0a 09 | 09 7b 0d 0a 09 09 09 42 |(B) )...|.{.....B|
|000036c0| 2e 47 6f 61 6c 53 74 72 | 69 6e 67 20 3d 20 22 4e |.GoalStr|ing = "N|
|000036d0| 65 61 72 20 65 6e 65 6d | 79 20 66 6c 61 67 21 22 |ear enem|y flag!"|
|000036e0| 3b 0d 0a 09 09 09 72 65 | 74 75 72 6e 20 46 69 6e |;.....re|turn Fin|
|000036f0| 64 50 61 74 68 54 6f 4f | 62 6a 65 63 74 69 76 65 |dPathToO|bjective|
|00003700| 28 42 2c 45 6e 65 6d 79 | 46 6c 61 67 2e 50 6f 73 |(B,Enemy|Flag.Pos|
|00003710| 69 74 69 6f 6e 28 29 29 | 3b 0d 0a 09 09 7d 0d 0a |ition())|;....}..|
|00003720| 09 7d 0d 0a 09 65 6c 73 | 65 20 69 66 20 28 20 28 |.}...els|e if ( (|
|00003730| 47 65 74 4f 72 64 65 72 | 73 28 29 20 21 3d 20 27 |GetOrder|s() != '|
|00003740| 44 65 66 65 6e 64 27 29 | 20 26 26 20 21 53 71 75 |Defend')| && !Squ|
|00003750| 61 64 4c 65 61 64 65 72 | 2e 49 73 41 28 27 50 6c |adLeader|.IsA('Pl|
|00003760| 61 79 65 72 43 6f 6e 74 | 72 6f 6c 6c 65 72 27 29 |ayerCont|roller')|
|00003770| 20 29 0d 0a 09 7b 0d 0a | 09 09 2f 2f 20 6d 61 6b | )...{..|..// mak|
|00003780| 65 20 66 6c 61 67 20 63 | 61 72 72 69 65 72 20 73 |e flag c|arrier s|
|00003790| 71 75 61 64 20 6c 65 61 | 64 65 72 20 69 66 20 6f |quad lea|der if o|
|000037a0| 6e 20 73 61 6d 65 20 73 | 71 75 61 64 0d 0a 09 09 |n same s|quad....|
|000037b0| 46 6c 61 67 43 61 72 72 | 69 65 72 20 3d 20 45 6e |FlagCarr|ier = En|
|000037c0| 65 6d 79 46 6c 61 67 2e | 48 6f 6c 64 65 72 2e 43 |emyFlag.|Holder.C|
|000037d0| 6f 6e 74 72 6f 6c 6c 65 | 72 3b 0d 0a 09 09 69 66 |ontrolle|r;....if|
|000037e0| 20 28 20 28 46 6c 61 67 | 43 61 72 72 69 65 72 20 | ( (Flag|Carrier |
|000037f0| 3d 3d 20 4e 6f 6e 65 29 | 20 26 26 20 28 45 6e 65 |== None)| && (Ene|
|00003800| 6d 79 46 6c 61 67 2e 48 | 6f 6c 64 65 72 2e 44 72 |myFlag.H|older.Dr|
|00003810| 69 76 65 6e 56 65 68 69 | 63 6c 65 20 21 3d 20 4e |ivenVehi|cle != N|
|00003820| 6f 6e 65 29 20 29 0d 0a | 09 09 09 46 6c 61 67 43 |one) )..|...FlagC|
|00003830| 61 72 72 69 65 72 20 3d | 20 45 6e 65 6d 79 46 6c |arrier =| EnemyFl|
|00003840| 61 67 2e 48 6f 6c 64 65 | 72 2e 44 72 69 76 65 6e |ag.Holde|r.Driven|
|00003850| 56 65 68 69 63 6c 65 2e | 43 6f 6e 74 72 6f 6c 6c |Vehicle.|Controll|
|00003860| 65 72 3b 0d 0a 09 09 09 | 0d 0a 09 09 69 66 20 28 |er;.....|....if (|
|00003870| 20 28 53 71 75 61 64 4c | 65 61 64 65 72 20 21 3d | (SquadL|eader !=|
|00003880| 20 46 6c 61 67 43 61 72 | 72 69 65 72 29 20 26 26 | FlagCar|rier) &&|
|00003890| 20 49 73 4f 6e 53 71 75 | 61 64 28 46 6c 61 67 43 | IsOnSqu|ad(FlagC|
|000038a0| 61 72 72 69 65 72 29 20 | 29 0d 0a 09 09 09 53 65 |arrier) |).....Se|
|000038b0| 74 4c 65 61 64 65 72 28 | 46 6c 61 67 43 61 72 72 |tLeader(|FlagCarr|
|000038c0| 69 65 72 29 3b 0d 0a 0d | 0a 09 09 69 66 20 28 20 |ier);...|...if ( |
|000038d0| 28 42 2e 45 6e 65 6d 79 | 20 21 3d 20 4e 6f 6e 65 |(B.Enemy| != None|
|000038e0| 29 20 26 26 20 42 2e 45 | 6e 65 6d 79 2e 4c 69 6e |) && B.E|nemy.Lin|
|000038f0| 65 4f 66 53 69 67 68 74 | 54 6f 28 46 6c 61 67 43 |eOfSight|To(FlagC|
|00003900| 61 72 72 69 65 72 2e 50 | 61 77 6e 29 20 29 0d 0a |arrier.P|awn) )..|
|00003910| 09 09 7b 0d 0a 09 09 09 | 42 2e 47 6f 61 6c 53 74 |..{.....|B.GoalSt|
|00003920| 72 69 6e 67 20 3d 20 22 | 46 69 67 68 74 20 65 6e |ring = "|Fight en|
|00003930| 65 6d 79 20 74 68 72 65 | 61 74 65 6e 69 6e 67 20 |emy thre|atening |
|00003940| 66 6c 61 67 20 63 61 72 | 72 69 65 72 22 3b 0d 0a |flag car|rier";..|
|00003950| 09 09 09 42 2e 46 69 67 | 68 74 45 6e 65 6d 79 28 |...B.Fig|htEnemy(|
|00003960| 74 72 75 65 2c 30 29 3b | 0d 0a 09 09 09 72 65 74 |true,0);|.....ret|
|00003970| 75 72 6e 20 74 72 75 65 | 3b 0d 0a 09 09 7d 0d 0a |urn true|;....}..|
|00003980| 0d 0a 09 09 69 66 20 28 | 20 28 28 46 6c 61 67 43 |....if (| ((FlagC|
|00003990| 61 72 72 69 65 72 2e 4d | 6f 76 65 54 61 72 67 65 |arrier.M|oveTarge|
|000039a0| 74 20 3d 3d 20 46 72 69 | 65 6e 64 6c 79 46 6c 61 |t == Fri|endlyFla|
|000039b0| 67 2e 48 6f 6d 65 42 61 | 73 65 29 0d 0a 09 09 09 |g.HomeBa|se).....|
|000039c0| 7c 7c 20 28 46 6c 61 67 | 43 61 72 72 69 65 72 2e ||| (Flag|Carrier.|
|000039d0| 52 6f 75 74 65 43 61 63 | 68 65 5b 31 5d 20 3d 3d |RouteCac|he[1] ==|
|000039e0| 20 46 72 69 65 6e 64 6c | 79 46 6c 61 67 2e 48 6f | Friendl|yFlag.Ho|
|000039f0| 6d 65 42 61 73 65 29 29 | 0d 0a 09 09 09 26 26 20 |meBase))|.....&& |
|00003a00| 28 42 2e 45 6e 65 6d 79 | 20 21 3d 20 4e 6f 6e 65 |(B.Enemy| != None|
|00003a10| 29 0d 0a 09 09 09 26 26 | 20 42 2e 4c 69 6e 65 4f |).....&&| B.LineO|
|00003a20| 66 53 69 67 68 74 54 6f | 28 46 72 69 65 6e 64 6c |fSightTo|(Friendl|
|00003a30| 79 46 6c 61 67 2e 48 6f | 6d 65 42 61 73 65 29 20 |yFlag.Ho|meBase) |
|00003a40| 29 0d 0a 09 09 7b 0d 0a | 09 09 09 42 2e 47 6f 61 |)....{..|...B.Goa|
|00003a50| 6c 53 74 72 69 6e 67 20 | 3d 20 22 46 69 67 68 74 |lString |= "Fight|
|00003a60| 20 65 6e 65 6d 79 20 77 | 68 69 6c 65 20 77 61 69 | enemy w|hile wai|
|00003a70| 74 69 6e 67 20 66 6f 72 | 20 66 6c 61 67 20 63 61 |ting for| flag ca|
|00003a80| 72 72 69 65 72 20 74 6f | 20 73 63 6f 72 65 22 3b |rrier to| score";|
|00003a90| 0d 0a 09 09 09 69 66 20 | 28 20 42 2e 4c 6f 73 74 |.....if |( B.Lost|
|00003aa0| 43 6f 6e 74 61 63 74 28 | 37 29 20 29 0d 0a 09 09 |Contact(|7) )....|
|00003ab0| 09 09 42 2e 4c 6f 73 65 | 45 6e 65 6d 79 28 29 3b |..B.Lose|Enemy();|
|00003ac0| 0d 0a 09 09 09 69 66 20 | 28 20 42 2e 45 6e 65 6d |.....if |( B.Enem|
|00003ad0| 79 20 21 3d 20 4e 6f 6e | 65 20 29 0d 0a 09 09 09 |y != Non|e ).....|
|00003ae0| 7b 0d 0a 09 09 09 09 42 | 2e 46 69 67 68 74 45 6e |{......B|.FightEn|
|00003af0| 65 6d 79 28 66 61 6c 73 | 65 2c 30 29 3b 0d 0a 09 |emy(fals|e,0);...|
|00003b00| 09 09 09 72 65 74 75 72 | 6e 20 74 72 75 65 3b 0d |...retur|n true;.|
|00003b10| 0a 09 09 09 7d 0d 0a 09 | 09 7d 0d 0a 0d 0a 09 09 |....}...|.}......|
|00003b20| 69 66 20 28 20 28 41 49 | 43 6f 6e 74 72 6f 6c 6c |if ( (AI|Controll|
|00003b30| 65 72 28 46 6c 61 67 43 | 61 72 72 69 65 72 29 20 |er(FlagC|arrier) |
|00003b40| 21 3d 20 4e 6f 6e 65 29 | 20 26 26 20 28 46 6c 61 |!= None)| && (Fla|
|00003b50| 67 43 61 72 72 69 65 72 | 2e 4d 6f 76 65 54 61 72 |gCarrier|.MoveTar|
|00003b60| 67 65 74 20 21 3d 20 4e | 6f 6e 65 29 0d 0a 09 09 |get != N|one)....|
|00003b70| 09 26 26 20 28 46 6c 61 | 67 43 61 72 72 69 65 72 |.&& (Fla|gCarrier|
|00003b80| 2e 49 6e 4c 61 74 65 6e | 74 45 78 65 63 75 74 69 |.InLaten|tExecuti|
|00003b90| 6f 6e 28 46 6c 61 67 43 | 61 72 72 69 65 72 2e 4c |on(FlagC|arrier.L|
|00003ba0| 41 54 45 4e 54 5f 4d 4f | 56 45 54 4f 57 41 52 44 |ATENT_MO|VETOWARD|
|00003bb0| 29 29 20 29 0d 0a 09 09 | 7b 0d 0a 09 09 09 69 66 |)) )....|{.....if|
|00003bc0| 20 28 20 28 46 6c 61 67 | 43 61 72 72 69 65 72 2e | ( (Flag|Carrier.|
|00003bd0| 52 6f 75 74 65 43 61 63 | 68 65 5b 30 5d 20 3d 3d |RouteCac|he[0] ==|
|00003be0| 20 46 6c 61 67 43 61 72 | 72 69 65 72 2e 4d 6f 76 | FlagCar|rier.Mov|
|00003bf0| 65 54 61 72 67 65 74 29 | 0d 0a 09 09 09 09 26 26 |eTarget)|......&&|
|00003c00| 20 28 46 6c 61 67 43 61 | 72 72 69 65 72 2e 52 6f | (FlagCa|rrier.Ro|
|00003c10| 75 74 65 43 61 63 68 65 | 5b 31 5d 20 21 3d 20 4e |uteCache|[1] != N|
|00003c20| 6f 6e 65 29 20 29 0d 0a | 09 09 09 09 46 6c 61 67 |one) )..|....Flag|
|00003c30| 43 61 72 72 69 65 72 54 | 61 72 67 65 74 20 3d 20 |CarrierT|arget = |
|00003c40| 46 6c 61 67 43 61 72 72 | 69 65 72 2e 52 6f 75 74 |FlagCarr|ier.Rout|
|00003c50| 65 43 61 63 68 65 5b 31 | 5d 3b 0d 0a 09 09 09 65 |eCache[1|];.....e|
|00003c60| 6c 73 65 0d 0a 09 09 09 | 09 46 6c 61 67 43 61 72 |lse.....|.FlagCar|
|00003c70| 72 69 65 72 54 61 72 67 | 65 74 20 3d 20 46 6c 61 |rierTarg|et = Fla|
|00003c80| 67 43 61 72 72 69 65 72 | 2e 4d 6f 76 65 54 61 72 |gCarrier|.MoveTar|
|00003c90| 67 65 74 3b 0d 0a 09 09 | 7d 0d 0a 09 09 65 6c 73 |get;....|}....els|
|00003ca0| 65 0d 0a 09 09 09 46 6c | 61 67 43 61 72 72 69 65 |e.....Fl|agCarrie|
|00003cb0| 72 54 61 72 67 65 74 20 | 3d 20 46 6c 61 67 43 61 |rTarget |= FlagCa|
|00003cc0| 72 72 69 65 72 2e 50 61 | 77 6e 3b 0d 0a 09 09 46 |rrier.Pa|wn;....F|
|00003cd0| 69 6e 64 50 61 74 68 54 | 6f 4f 62 6a 65 63 74 69 |indPathT|oObjecti|
|00003ce0| 76 65 28 42 2c 46 6c 61 | 67 43 61 72 72 69 65 72 |ve(B,Fla|gCarrier|
|00003cf0| 54 61 72 67 65 74 29 3b | 0d 0a 09 09 69 66 20 28 |Target);|....if (|
|00003d00| 20 28 42 2e 4d 6f 76 65 | 54 61 72 67 65 74 20 3d | (B.Move|Target =|
|00003d10| 3d 20 46 6c 61 67 43 61 | 72 72 69 65 72 54 61 72 |= FlagCa|rrierTar|
|00003d20| 67 65 74 29 20 7c 7c 20 | 28 42 2e 4d 6f 76 65 54 |get) || |(B.MoveT|
|00003d30| 61 72 67 65 74 20 3d 3d | 20 46 6c 61 67 43 61 72 |arget ==| FlagCar|
|00003d40| 72 69 65 72 2e 4d 6f 76 | 65 54 61 72 67 65 74 29 |rier.Mov|eTarget)|
|00003d50| 20 29 0d 0a 09 09 7b 0d | 0a 09 09 09 69 66 20 28 | )....{.|....if (|
|00003d60| 20 42 2e 45 6e 65 6d 79 | 20 21 3d 20 4e 6f 6e 65 | B.Enemy| != None|
|00003d70| 20 29 0d 0a 09 09 09 7b | 0d 0a 09 09 09 09 42 2e | ).....{|......B.|
|00003d80| 47 6f 61 6c 53 74 72 69 | 6e 67 20 3d 20 22 46 69 |GoalStri|ng = "Fi|
|00003d90| 67 68 74 20 65 6e 65 6d | 79 20 77 68 69 6c 65 20 |ght enem|y while |
|00003da0| 77 61 69 74 69 6e 67 20 | 66 6f 72 20 66 6c 61 67 |waiting |for flag|
|00003db0| 20 63 61 72 72 69 65 72 | 22 3b 0d 0a 09 09 09 09 | carrier|";......|
|00003dc0| 69 66 20 28 20 42 2e 4c | 6f 73 74 43 6f 6e 74 61 |if ( B.L|ostConta|
|00003dd0| 63 74 28 37 29 20 29 0d | 0a 09 09 09 09 09 42 2e |ct(7) ).|......B.|
|00003de0| 4c 6f 73 65 45 6e 65 6d | 79 28 29 3b 0d 0a 09 09 |LoseEnem|y();....|
|00003df0| 09 09 69 66 20 28 20 42 | 2e 45 6e 65 6d 79 20 21 |..if ( B|.Enemy !|
|00003e00| 3d 20 4e 6f 6e 65 20 29 | 0d 0a 09 09 09 09 7b 0d |= None )|......{.|
|00003e10| 0a 09 09 09 09 09 42 2e | 46 69 67 68 74 45 6e 65 |......B.|FightEne|
|00003e20| 6d 79 28 66 61 6c 73 65 | 2c 30 29 3b 0d 0a 09 09 |my(false|,0);....|
|00003e30| 09 09 09 72 65 74 75 72 | 6e 20 74 72 75 65 3b 0d |...retur|n true;.|
|00003e40| 0a 09 09 09 09 7d 0d 0a | 09 09 09 7d 0d 0a 09 09 |.....}..|...}....|
|00003e50| 09 69 66 20 28 20 21 42 | 2e 62 49 6e 69 74 4c 69 |.if ( !B|.bInitLi|
|00003e60| 66 65 4d 65 73 73 61 67 | 65 20 29 0d 0a 09 09 09 |feMessag|e ).....|
|00003e70| 7b 0d 0a 09 09 09 09 42 | 2e 62 49 6e 69 74 4c 69 |{......B|.bInitLi|
|00003e80| 66 65 4d 65 73 73 61 67 | 65 20 3d 20 74 72 75 65 |feMessag|e = true|
|00003e90| 3b 0d 0a 09 09 09 09 42 | 2e 53 65 6e 64 4d 65 73 |;......B|.SendMes|
|00003ea0| 73 61 67 65 28 45 6e 65 | 6d 79 46 6c 61 67 2e 48 |sage(Ene|myFlag.H|
|00003eb0| 6f 6c 64 65 72 2e 50 6c | 61 79 65 72 52 65 70 6c |older.Pl|ayerRepl|
|00003ec0| 69 63 61 74 69 6f 6e 49 | 6e 66 6f 2c 20 27 4f 54 |icationI|nfo, 'OT|
|00003ed0| 48 45 52 27 2c 20 42 2e | 47 65 74 4d 65 73 73 61 |HER', B.|GetMessa|
|00003ee0| 67 65 49 6e 64 65 78 28 | 27 47 4f 54 59 4f 55 52 |geIndex(|'GOTYOUR|
|00003ef0| 42 41 43 4b 27 29 2c 20 | 31 30 2c 20 27 54 45 41 |BACK'), |10, 'TEA|
|00003f00| 4d 27 29 3b 0d 0a 09 09 | 09 7d 0d 0a 09 09 09 69 |M');....|.}.....i|
|00003f10| 66 20 28 20 28 42 2e 4d | 6f 76 65 54 61 72 67 65 |f ( (B.M|oveTarge|
|00003f20| 74 20 3d 3d 20 46 6c 61 | 67 43 61 72 72 69 65 72 |t == Fla|gCarrier|
|00003f30| 2e 50 61 77 6e 29 0d 0a | 09 09 09 09 26 26 20 28 |.Pawn)..|....&& (|
|00003f40| 28 56 53 69 7a 65 28 42 | 2e 50 61 77 6e 2e 4c 6f |(VSize(B|.Pawn.Lo|
|00003f50| 63 61 74 69 6f 6e 20 2d | 20 46 6c 61 67 43 61 72 |cation -| FlagCar|
|00003f60| 72 69 65 72 2e 50 61 77 | 6e 2e 4c 6f 63 61 74 69 |rier.Paw|n.Locati|
|00003f70| 6f 6e 29 20 3c 20 32 35 | 30 29 20 7c 7c 20 28 46 |on) < 25|0) || (F|
|00003f80| 6c 61 67 43 61 72 72 69 | 65 72 2e 50 61 77 6e 2e |lagCarri|er.Pawn.|
|00003f90| 41 63 63 65 6c 65 72 61 | 74 69 6f 6e 20 3d 3d 20 |Accelera|tion == |
|00003fa0| 76 65 63 74 28 30 2c 30 | 2c 30 29 29 29 20 29 0d |vect(0,0|,0))) ).|
|00003fb0| 0a 09 09 09 09 72 65 74 | 75 72 6e 20 66 61 6c 73 |.....ret|urn fals|
|00003fc0| 65 3b 0d 0a 09 09 09 69 | 66 20 28 20 42 2e 50 61 |e;.....i|f ( B.Pa|
|00003fd0| 77 6e 2e 52 65 61 63 68 | 65 64 44 65 73 74 69 6e |wn.Reach|edDestin|
|00003fe0| 61 74 69 6f 6e 28 46 6c | 61 67 43 61 72 72 69 65 |ation(Fl|agCarrie|
|00003ff0| 72 54 61 72 67 65 74 29 | 20 7c 7c 20 28 46 6c 61 |rTarget)| || (Fla|
|00004000| 67 43 61 72 72 69 65 72 | 2e 50 61 77 6e 2e 41 63 |gCarrier|.Pawn.Ac|
|00004010| 63 65 6c 65 72 61 74 69 | 6f 6e 20 3d 3d 20 76 65 |celerati|on == ve|
|00004020| 63 74 28 30 2c 30 2c 30 | 29 29 0d 0a 09 09 09 09 |ct(0,0,0|))......|
|00004030| 7c 7c 20 28 46 6c 61 67 | 43 61 72 72 69 65 72 2e ||| (Flag|Carrier.|
|00004040| 4d 6f 76 65 54 61 72 67 | 65 74 20 3d 3d 20 46 72 |MoveTarg|et == Fr|
|00004050| 69 65 6e 64 6c 79 46 6c | 61 67 2e 48 6f 6d 65 42 |iendlyFl|ag.HomeB|
|00004060| 61 73 65 29 20 7c 7c 20 | 28 46 6c 61 67 43 61 72 |ase) || |(FlagCar|
|00004070| 72 69 65 72 2e 52 6f 75 | 74 65 43 61 63 68 65 5b |rier.Rou|teCache[|
|00004080| 31 5d 20 3d 3d 20 46 72 | 69 65 6e 64 6c 79 46 6c |1] == Fr|iendlyFl|
|00004090| 61 67 2e 48 6f 6d 65 42 | 61 73 65 29 20 29 0d 0a |ag.HomeB|ase) )..|
|000040a0| 09 09 09 7b 0d 0a 09 09 | 09 09 42 2e 57 61 6e 64 |...{....|..B.Wand|
|000040b0| 65 72 4f 72 43 61 6d 70 | 28 74 72 75 65 29 3b 0d |erOrCamp|(true);.|
|000040c0| 0a 09 09 09 09 42 2e 47 | 6f 61 6c 53 74 72 69 6e |.....B.G|oalStrin|
|000040d0| 67 20 3d 20 22 42 61 63 | 6b 20 75 70 20 74 68 65 |g = "Bac|k up the|
|000040e0| 20 66 6c 61 67 20 63 61 | 72 72 69 65 72 21 22 3b | flag ca|rrier!";|
|000040f0| 0d 0a 09 09 09 09 72 65 | 74 75 72 6e 20 74 72 75 |......re|turn tru|
|00004100| 65 3b 0d 0a 09 09 09 7d | 0d 0a 09 09 7d 0d 0a 0d |e;.....}|....}...|
|00004110| 0a 09 09 42 2e 47 6f 61 | 6c 53 74 72 69 6e 67 20 |...B.Goa|lString |
|00004120| 3d 20 22 46 69 6e 64 20 | 74 68 65 20 66 6c 61 67 |= "Find |the flag|
|00004130| 20 63 61 72 72 69 65 72 | 20 2d 20 6d 6f 76 65 20 | carrier| - move |
|00004140| 74 6f 20 22 24 42 2e 4d | 6f 76 65 54 61 72 67 65 |to "$B.M|oveTarge|
|00004150| 74 3b 0d 0a 09 09 72 65 | 74 75 72 6e 20 28 20 42 |t;....re|turn ( B|
|00004160| 2e 4d 6f 76 65 54 61 72 | 67 65 74 20 21 3d 20 4e |.MoveTar|get != N|
|00004170| 6f 6e 65 20 29 3b 0d 0a | 09 7d 0d 0a 09 72 65 74 |one );..|.}...ret|
|00004180| 75 72 6e 20 53 75 70 65 | 72 2e 43 68 65 63 6b 53 |urn Supe|r.CheckS|
|00004190| 71 75 61 64 4f 62 6a 65 | 63 74 69 76 65 73 28 42 |quadObje|ctives(B|
|000041a0| 29 3b 0d 0a 7d 0d 0a 0d | 0a 66 75 6e 63 74 69 6f |);..}...|.functio|
|000041b0| 6e 20 45 6e 65 6d 79 46 | 6c 61 67 54 61 6b 65 6e |n EnemyF|lagTaken|
|000041c0| 42 79 28 43 6f 6e 74 72 | 6f 6c 6c 65 72 20 43 29 |By(Contr|oller C)|
|000041d0| 0d 0a 7b 0d 0a 09 6c 6f | 63 61 6c 20 42 6f 74 20 |..{...lo|cal Bot |
|000041e0| 4d 3b 0d 0a 09 6c 6f 63 | 61 6c 20 41 73 73 61 75 |M;...loc|al Assau|
|000041f0| 6c 74 50 61 74 68 20 4c | 69 73 74 5b 31 36 5d 3b |ltPath L|ist[16];|
|00004200| 0d 0a 09 6c 6f 63 61 6c | 20 69 6e 74 20 69 2c 6e |...local| int i,n|
|00004210| 75 6d 3b 0d 0a 09 6c 6f | 63 61 6c 20 41 73 73 61 |um;...lo|cal Assa|
|00004220| 75 6c 74 50 61 74 68 20 | 41 3b 0d 0a 09 6c 6f 63 |ultPath |A;...loc|
|00004230| 61 6c 20 66 6c 6f 61 74 | 20 73 75 6d 2c 72 3b 0d |al float| sum,r;.|
|00004240| 0a 0d 0a 09 69 66 20 28 | 20 42 6f 74 28 43 29 20 |....if (| Bot(C) |
|00004250| 21 3d 20 4e 6f 6e 65 20 | 29 0d 0a 09 7b 0d 0a 09 |!= None |)...{...|
|00004260| 09 52 65 74 75 72 6e 50 | 61 74 68 20 3d 20 4e 6f |.ReturnP|ath = No|
|00004270| 6e 65 3b 0d 0a 09 09 52 | 65 74 75 72 6e 50 61 74 |ne;....R|eturnPat|
|00004280| 68 54 61 67 20 3d 20 27 | 27 3b 0d 0a 09 09 69 66 |hTag = '|';....if|
|00004290| 20 28 20 45 6e 65 6d 79 | 46 6c 61 67 2e 49 73 48 | ( Enemy|Flag.IsH|
|000042a0| 6f 6d 65 28 29 20 29 0d | 0a 09 09 7b 0d 0a 09 09 |ome() ).|...{....|
|000042b0| 09 69 66 20 28 20 46 52 | 61 6e 64 28 29 20 3c 20 |.if ( FR|and() < |
|000042c0| 30 2e 32 20 29 0d 0a 09 | 09 09 7b 0d 0a 09 09 09 |0.2 )...|..{.....|
|000042d0| 09 42 6f 74 28 43 29 2e | 62 46 69 6e 61 6c 53 74 |.Bot(C).|bFinalSt|
|000042e0| 72 65 74 63 68 20 3d 20 | 74 72 75 65 3b 0d 0a 09 |retch = |true;...|
|000042f0| 09 09 09 72 65 74 75 72 | 6e 3b 0d 0a 09 09 09 7d |...retur|n;.....}|
|00004300| 0d 0a 09 09 09 42 6f 74 | 28 43 29 2e 62 46 69 6e |.....Bot|(C).bFin|
|00004310| 61 6c 53 74 72 65 74 63 | 68 20 3d 20 66 61 6c 73 |alStretc|h = fals|
|00004320| 65 3b 0d 0a 09 09 09 2f | 2f 20 73 65 74 20 72 65 |e;...../|/ set re|
|00004330| 74 75 72 6e 20 70 61 74 | 68 0d 0a 09 09 09 66 6f |turn pat|h.....fo|
|00004340| 72 20 28 20 41 3d 45 6e | 65 6d 79 46 6c 61 67 2e |r ( A=En|emyFlag.|
|00004350| 48 6f 6d 65 42 61 73 65 | 2e 41 6c 74 65 72 6e 61 |HomeBase|.Alterna|
|00004360| 74 65 50 61 74 68 73 3b | 20 41 21 3d 4e 6f 6e 65 |tePaths;| A!=None|
|00004370| 3b 20 41 3d 41 2e 4e 65 | 78 74 50 61 74 68 20 29 |; A=A.Ne|xtPath )|
|00004380| 0d 0a 09 09 09 7b 0d 0a | 09 09 09 09 69 66 20 28 |.....{..|....if (|
|00004390| 20 41 2e 62 45 6e 61 62 | 6c 65 64 20 26 26 20 41 | A.bEnab|led && A|
|000043a0| 2e 62 4c 61 73 74 50 61 | 74 68 20 26 26 20 21 41 |.bLastPa|th && !A|
|000043b0| 2e 62 4e 6f 52 65 74 75 | 72 6e 20 29 0d 0a 09 09 |.bNoRetu|rn )....|
|000043c0| 09 09 7b 0d 0a 09 09 09 | 09 09 4c 69 73 74 5b 6e |..{.....|..List[n|
|000043d0| 75 6d 5d 20 3d 20 41 3b | 0d 0a 09 09 09 09 09 6e |um] = A;|.......n|
|000043e0| 75 6d 2b 2b 3b 0d 0a 09 | 09 09 09 09 69 66 20 28 |um++;...|....if (|
|000043f0| 20 6e 75 6d 20 3e 20 31 | 35 20 29 0d 0a 09 09 09 | num > 1|5 ).....|
|00004400| 09 09 09 62 72 65 61 6b | 3b 0d 0a 09 09 09 09 7d |...break|;......}|
|00004410| 0d 0a 09 09 09 7d 0d 0a | 09 09 09 69 66 20 28 20 |.....}..|...if ( |
|00004420| 6e 75 6d 20 3e 20 30 20 | 29 0d 0a 09 09 09 7b 0d |num > 0 |).....{.|
|00004430| 0a 09 09 09 09 66 6f 72 | 20 28 20 69 3d 30 3b 20 |.....for| ( i=0; |
|00004440| 69 3c 6e 75 6d 3b 20 69 | 2b 2b 20 29 0d 0a 09 09 |i<num; i|++ )....|
|00004450| 09 09 09 73 75 6d 20 2b | 3d 20 4c 69 73 74 5b 69 |...sum +|= List[i|
|00004460| 5d 2e 50 72 69 6f 72 69 | 74 79 3b 0d 0a 09 09 09 |].Priori|ty;.....|
|00004470| 09 72 20 3d 20 46 52 61 | 6e 64 28 29 20 2a 20 73 |.r = FRa|nd() * s|
|00004480| 75 6d 3b 0d 0a 09 09 09 | 09 73 75 6d 20 3d 20 30 |um;.....|.sum = 0|
|00004490| 3b 0d 0a 09 09 09 09 66 | 6f 72 20 28 20 69 3d 30 |;......f|or ( i=0|
|000044a0| 3b 20 69 3c 6e 75 6d 3b | 20 69 2b 2b 20 29 0d 0a |; i<num;| i++ )..|
|000044b0| 09 09 09 09 7b 0d 0a 09 | 09 09 09 09 73 75 6d 20 |....{...|....sum |
|000044c0| 2b 3d 20 4c 69 73 74 5b | 69 5d 2e 50 72 69 6f 72 |+= List[|i].Prior|
|000044d0| 69 74 79 3b 0d 0a 09 09 | 09 09 09 69 66 20 28 20 |ity;....|...if ( |
|000044e0| 72 20 3c 3d 20 73 75 6d | 20 29 0d 0a 09 09 09 09 |r <= sum| )......|
|000044f0| 09 7b 0d 0a 09 09 09 09 | 09 09 52 65 74 75 72 6e |.{......|..Return|
|00004500| 50 61 74 68 20 3d 20 4c | 69 73 74 5b 69 5d 3b 0d |Path = L|ist[i];.|
|00004510| 0a 09 09 09 09 09 09 52 | 65 74 75 72 6e 50 61 74 |.......R|eturnPat|
|00004520| 68 54 61 67 20 3d 20 4c | 69 73 74 5b 69 5d 2e 50 |hTag = L|ist[i].P|
|00004530| 69 63 6b 54 61 67 28 29 | 3b 0d 0a 09 09 09 09 09 |ickTag()|;.......|
|00004540| 09 72 65 74 75 72 6e 3b | 0d 0a 09 09 09 09 09 7d |.return;|.......}|
|00004550| 0d 0a 09 09 09 09 7d 0d | 0a 09 09 09 09 52 65 74 |......}.|.....Ret|
|00004560| 75 72 6e 50 61 74 68 20 | 3d 20 4c 69 73 74 5b 30 |urnPath |= List[0|
|00004570| 5d 3b 0d 0a 09 09 09 09 | 52 65 74 75 72 6e 50 61 |];......|ReturnPa|
|00004580| 74 68 54 61 67 20 3d 20 | 4c 69 73 74 5b 30 5d 2e |thTag = |List[0].|
|00004590| 50 69 63 6b 54 61 67 28 | 29 3b 0d 0a 09 09 09 7d |PickTag(|);.....}|
|000045a0| 0d 0a 09 09 7d 0d 0a 09 | 09 65 6c 73 65 0d 0a 09 |....}...|.else...|
|000045b0| 09 09 42 6f 74 28 43 29 | 2e 62 46 69 6e 61 6c 53 |..Bot(C)|.bFinalS|
|000045c0| 74 72 65 74 63 68 20 3d | 20 74 72 75 65 3b 0d 0a |tretch =| true;..|
|000045d0| 09 7d 0d 0a 0d 0a 09 69 | 66 20 28 20 28 50 6c 61 |.}.....i|f ( (Pla|
|000045e0| 79 65 72 43 6f 6e 74 72 | 6f 6c 6c 65 72 28 53 71 |yerContr|oller(Sq|
|000045f0| 75 61 64 4c 65 61 64 65 | 72 29 20 3d 3d 20 4e 6f |uadLeade|r) == No|
|00004600| 6e 65 29 20 26 26 20 28 | 53 71 75 61 64 4c 65 61 |ne) && (|SquadLea|
|00004610| 64 65 72 20 21 3d 20 43 | 29 20 29 0d 0a 09 09 53 |der != C|) )....S|
|00004620| 65 74 4c 65 61 64 65 72 | 28 43 29 3b 0d 0a 0d 0a |etLeader|(C);....|
|00004630| 09 66 6f 72 09 28 20 4d | 3d 53 71 75 61 64 4d 65 |.for.( M|=SquadMe|
|00004640| 6d 62 65 72 73 3b 20 4d | 21 3d 4e 6f 6e 65 3b 20 |mbers; M|!=None; |
|00004650| 4d 3d 4d 2e 4e 65 78 74 | 53 71 75 61 64 4d 65 6d |M=M.Next|SquadMem|
|00004660| 62 65 72 20 29 0d 0a 09 | 09 69 66 20 28 20 28 4d |ber )...|.if ( (M|
|00004670| 2e 4d 6f 76 65 54 61 72 | 67 65 74 20 3d 3d 20 45 |.MoveTar|get == E|
|00004680| 6e 65 6d 79 46 6c 61 67 | 29 20 7c 7c 20 28 4d 2e |nemyFlag|) || (M.|
|00004690| 4d 6f 76 65 54 61 72 67 | 65 74 20 3d 3d 20 45 6e |MoveTarg|et == En|
|000046a0| 65 6d 79 46 6c 61 67 2e | 48 6f 6d 65 42 61 73 65 |emyFlag.|HomeBase|
|000046b0| 29 20 29 0d 0a 09 09 09 | 4d 2e 4d 6f 76 65 54 69 |) ).....|M.MoveTi|
|000046c0| 6d 65 72 20 3d 20 46 4d | 69 6e 28 4d 2e 4d 6f 76 |mer = FM|in(M.Mov|
|000046d0| 65 54 69 6d 65 72 2c 30 | 2e 30 35 20 2b 20 30 2e |eTimer,0|.05 + 0.|
|000046e0| 31 35 20 2a 20 46 52 61 | 6e 64 28 29 29 3b 0d 0a |15 * FRa|nd());..|
|000046f0| 7d 0d 0a 0d 0a 66 75 6e | 63 74 69 6f 6e 20 62 6f |}....fun|ction bo|
|00004700| 6f 6c 20 41 6c 6c 6f 77 | 54 61 75 6e 74 28 42 6f |ol Allow|Taunt(Bo|
|00004710| 74 20 42 29 0d 0a 7b 0d | 0a 09 72 65 74 75 72 6e |t B)..{.|..return|
|00004720| 20 28 20 28 46 52 61 6e | 64 28 29 20 3c 20 30 2e | ( (FRan|d() < 0.|
|00004730| 35 29 20 26 26 20 28 50 | 72 69 6f 72 69 74 79 4f |5) && (P|riorityO|
|00004740| 62 6a 65 63 74 69 76 65 | 28 42 29 20 3c 20 31 29 |bjective|(B) < 1)|
|00004750| 29 3b 0d 0a 7d 0d 0a 0d | 0a 66 75 6e 63 74 69 6f |);..}...|.functio|
|00004760| 6e 20 62 6f 6f 6c 20 53 | 68 6f 75 6c 64 44 65 66 |n bool S|houldDef|
|00004770| 65 72 54 6f 28 43 6f 6e | 74 72 6f 6c 6c 65 72 20 |erTo(Con|troller |
|00004780| 43 29 0d 0a 7b 0d 0a 09 | 69 66 20 28 20 43 2e 50 |C)..{...|if ( C.P|
|00004790| 6c 61 79 65 72 52 65 70 | 6c 69 63 61 74 69 6f 6e |layerRep|lication|
|000047a0| 49 6e 66 6f 2e 48 61 73 | 46 6c 61 67 20 21 3d 20 |Info.Has|Flag != |
|000047b0| 4e 6f 6e 65 20 29 0d 0a | 09 09 72 65 74 75 72 6e |None )..|..return|
|000047c0| 20 74 72 75 65 3b 0d 0a | 09 72 65 74 75 72 6e 20 | true;..|.return |
|000047d0| 53 75 70 65 72 2e 53 68 | 6f 75 6c 64 44 65 66 65 |Super.Sh|ouldDefe|
|000047e0| 72 54 6f 28 43 29 3b 0d | 0a 7d 0d 0a 0d 0a 66 75 |rTo(C);.|.}....fu|
|000047f0| 6e 63 74 69 6f 6e 20 62 | 79 74 65 20 50 72 69 6f |nction b|yte Prio|
|00004800| 72 69 74 79 4f 62 6a 65 | 63 74 69 76 65 28 42 6f |rityObje|ctive(Bo|
|00004810| 74 20 42 29 0d 0a 7b 0d | 0a 09 69 66 20 28 20 42 |t B)..{.|..if ( B|
|00004820| 2e 50 6c 61 79 65 72 52 | 65 70 6c 69 63 61 74 69 |.PlayerR|eplicati|
|00004830| 6f 6e 49 6e 66 6f 2e 48 | 61 73 46 6c 61 67 20 21 |onInfo.H|asFlag !|
|00004840| 3d 20 4e 6f 6e 65 20 29 | 0d 0a 09 7b 0d 0a 09 09 |= None )|...{....|
|00004850| 69 66 20 28 20 46 72 69 | 65 6e 64 6c 79 46 6c 61 |if ( Fri|endlyFla|
|00004860| 67 2e 48 6f 6d 65 42 61 | 73 65 2e 42 6f 74 4e 65 |g.HomeBa|se.BotNe|
|00004870| 61 72 4f 62 6a 65 63 74 | 69 76 65 28 42 29 20 29 |arObject|ive(B) )|
|00004880| 0d 0a 09 09 09 72 65 74 | 75 72 6e 20 32 35 35 3b |.....ret|urn 255;|
|00004890| 0d 0a 09 09 72 65 74 75 | 72 6e 20 32 3b 0d 0a 09 |....retu|rn 2;...|
|000048a0| 7d 0d 0a 0d 0a 09 69 66 | 20 28 20 46 72 69 65 6e |}.....if| ( Frien|
|000048b0| 64 6c 79 46 6c 61 67 2e | 48 6f 6c 64 65 72 20 21 |dlyFlag.|Holder !|
|000048c0| 3d 20 4e 6f 6e 65 20 29 | 0d 0a 09 09 72 65 74 75 |= None )|....retu|
|000048d0| 72 6e 20 31 3b 0d 0a 0d | 0a 09 72 65 74 75 72 6e |rn 1;...|..return|
|000048e0| 20 30 3b 0d 0a 7d 0d 0a | 0d 0a 66 75 6e 63 74 69 | 0;..}..|..functi|
|000048f0| 6f 6e 20 66 6c 6f 61 74 | 20 4d 6f 64 69 66 79 54 |on float| ModifyT|
|00004900| 68 72 65 61 74 28 66 6c | 6f 61 74 20 63 75 72 72 |hreat(fl|oat curr|
|00004910| 65 6e 74 2c 20 50 61 77 | 6e 20 4e 65 77 54 68 72 |ent, Paw|n NewThr|
|00004920| 65 61 74 2c 20 62 6f 6f | 6c 20 62 54 68 72 65 61 |eat, boo|l bThrea|
|00004930| 74 56 69 73 69 62 6c 65 | 2c 20 42 6f 74 20 42 29 |tVisible|, Bot B)|
|00004940| 0d 0a 7b 0d 0a 09 69 66 | 20 28 20 28 4e 65 77 54 |..{...if| ( (NewT|
|00004950| 68 72 65 61 74 2e 50 6c | 61 79 65 72 52 65 70 6c |hreat.Pl|ayerRepl|
|00004960| 69 63 61 74 69 6f 6e 49 | 6e 66 6f 20 21 3d 20 4e |icationI|nfo != N|
|00004970| 6f 6e 65 29 0d 0a 09 09 | 26 26 20 28 4e 65 77 54 |one)....|&& (NewT|
|00004980| 68 72 65 61 74 2e 50 6c | 61 79 65 72 52 65 70 6c |hreat.Pl|ayerRepl|
|00004990| 69 63 61 74 69 6f 6e 49 | 6e 66 6f 2e 48 61 73 46 |icationI|nfo.HasF|
|000049a0| 6c 61 67 20 21 3d 20 4e | 6f 6e 65 29 0d 0a 09 09 |lag != N|one)....|
|000049b0| 26 26 20 62 54 68 72 65 | 61 74 56 69 73 69 62 6c |&& bThre|atVisibl|
|000049c0| 65 20 29 0d 0a 09 7b 0d | 0a 09 09 69 66 20 28 20 |e )...{.|...if ( |
|000049d0| 28 56 53 69 7a 65 28 42 | 2e 50 61 77 6e 2e 4c 6f |(VSize(B|.Pawn.Lo|
|000049e0| 63 61 74 69 6f 6e 20 2d | 20 4e 65 77 54 68 72 65 |cation -| NewThre|
|000049f0| 61 74 2e 4c 6f 63 61 74 | 69 6f 6e 29 20 3c 20 31 |at.Locat|ion) < 1|
|00004a00| 35 30 30 29 20 7c 7c 20 | 28 42 2e 50 61 77 6e 2e |500) || |(B.Pawn.|
|00004a10| 57 65 61 70 6f 6e 20 21 | 3d 20 4e 6f 6e 65 20 26 |Weapon !|= None &|
|00004a20| 26 20 42 2e 50 61 77 6e | 2e 57 65 61 70 6f 6e 2e |& B.Pawn|.Weapon.|
|00004a30| 62 53 6e 69 70 69 6e 67 | 29 0d 0a 09 09 09 7c 7c |bSniping|).....|||
|00004a40| 20 28 56 53 69 7a 65 28 | 4e 65 77 54 68 72 65 61 | (VSize(|NewThrea|
|00004a50| 74 2e 4c 6f 63 61 74 69 | 6f 6e 20 2d 20 45 6e 65 |t.Locati|on - Ene|
|00004a60| 6d 79 46 6c 61 67 2e 48 | 6f 6d 65 42 61 73 65 2e |myFlag.H|omeBase.|
|00004a70| 4c 6f 63 61 74 69 6f 6e | 29 20 3c 20 32 30 30 30 |Location|) < 2000|
|00004a80| 29 20 29 0d 0a 09 09 09 | 72 65 74 75 72 6e 20 63 |) ).....|return c|
|00004a90| 75 72 72 65 6e 74 20 2b | 20 36 3b 0d 0a 09 09 65 |urrent +| 6;....e|
|00004aa0| 6c 73 65 0d 0a 09 09 09 | 72 65 74 75 72 6e 20 63 |lse.....|return c|
|00004ab0| 75 72 72 65 6e 74 20 2b | 20 31 2e 35 3b 0d 0a 09 |urrent +| 1.5;...|
|00004ac0| 7d 0d 0a 09 65 6c 73 65 | 20 69 66 20 28 20 4e 65 |}...else| if ( Ne|
|00004ad0| 77 54 68 72 65 61 74 2e | 49 73 48 75 6d 61 6e 43 |wThreat.|IsHumanC|
|00004ae0| 6f 6e 74 72 6f 6c 6c 65 | 64 28 29 20 29 0d 0a 09 |ontrolle|d() )...|
|00004af0| 09 72 65 74 75 72 6e 20 | 63 75 72 72 65 6e 74 20 |.return |current |
|00004b00| 2b 20 30 2e 35 3b 0d 0a | 09 65 6c 73 65 0d 0a 09 |+ 0.5;..|.else...|
|00004b10| 09 72 65 74 75 72 6e 20 | 63 75 72 72 65 6e 74 3b |.return |current;|
|00004b20| 0d 0a 7d 0d 0a 0d 0a 00 | |..}.....| |
+--------+-------------------------+-------------------------+--------+--------+